題目:
給定一個整數數組,判斷是否存在重復元素。 如果任何值在數組中出現至少兩次,函數應該返回 true。如果每個元素都不相同,則返回 false。
解題思路如下:
1.排序:按順序遍歷整個數組,如果發現有數組存在重復則返回結果
class Solution { public: bool containsDuplicate(vector<int>& nums) { sort(nums.begin(),nums.end()); for(int i = 1;i < nums.size();++i){ if(nums[i] == nums[i-1]){ return true; } } return false; } };
2.集合查找:如何集合查找發現有重復元素則返回true,否則返回false。
bool containsDuplicate(vector<int>& nums) { set<int> m; for(int i = 0;i < nums.size(); ++i){ if(m.find(nums[i])!=m.end()){ return true; }else{ m.insert(nums[i]); } } return false; }
