problem
solution1:暴力破解
class Solution { public: bool containsDuplicate(vector<int>& nums) { for(int i=0; i<nums.size(); i++) { for(int j=i+1; j<nums.size(); j++) { if(nums[i]==nums[j]) return true; } } return false; } };
solution2:先排序再依序比较两个元素的数值;
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; } };
solution3: HashMap.
class Solution { public: bool containsDuplicate(vector<int>& nums) { map<int, bool> hashmap; for(int i=0; i<nums.size(); i++) { if(hashmap.find(nums[i])!=hashmap.end()) return true;// else hashmap[nums[i]] = true; } return false; } };
参考
1. Leetcode_Contains Duplicate;
完