给定一个整数数组,判断是否存在重复元素。 如果任意一值在数组中出现至少两次,函数返回 true 。如果数组中每个元素都不相同,则返回 false 。
排序:先排序,然后遍历比较
class Solution { public: bool containsDuplicate(vector<int>& nums) { sort(nums.begin(), nums.end()); for(int a = 1; a < nums.size(); a++){ if(nums[a - 1] == nums[a]) return true; } return false; } };集合或哈希:把遍历过的数字存起来,然后与后面的数字进行对比
class Solution { public: bool containsDuplicate(vector<int>& nums) { set<int> s; for(int a = 0 ;a < nums.size(); a++){ if(s.count(nums[a]) > 0) return true; else{ s.insert(nums[a]); } } return false; } };