21 存在重复元素

题目

在这里插入图片描述

题解

方法1 排序

如果有相邻相等的就有重复的,但O(n²),, ,,是nlogn 因为对数组排序呀

class Solution {
public:
    bool containsDuplicate(vector<int>& nums) {
        sort(nums.begin(), nums.end());
        for(int i = 0; i<nums.size()-1; i++)
        {
            if(nums[i] == nums[i+1])
            {
                return true;
            }            
        }
        return false;
    }
};

方法2

class Solution {
public:
    bool containsDuplicate(vector<int>& nums) {
        unordered_set<int> s;
        for(int x : nums)
        {
            if(s.find(x) != s.end())
            {
                return true;
            }
            s.insert(x);
        }
        return false;
    }
};

需要重新复习set unordered_set map unordered_map了


版权声明:本文为qq_37299596原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。