[Array]217.Contains Duplicate
阿新 • • 發佈:2017-08-10
pan 長度 bool 數組長度 fin spa you col pre
Given an array of integers, find if the array contains any duplicates. Your function should return true if any value appears at least twice in the array, and it should return false if every element is distinct.
思路:只要一個整數數組中某個元素出現兩次及以上,返回true,否則返回false。將數組進行排序,只要找到出現兩次的元素就可以了。
另外,需要註意的是,找到出現兩次的元素的思想是,nums[i]=nums[i+1],這樣會忽略數組長度為0或者1的情況,因此應該將這兩種情況單獨列出來。
bool containsDuplicate(vector<int>& nums) { if(nums.empty()) return false ; int n = nums.size(); if(n == 1)//或者將這裏寫成if(n == 0 || n == 1) return false; sort(nums.begin(), nums.end()); for(int i = 0; i < n; i++){ if(nums[i] == num[i+1]) return true; } else if (i == n-1) return false; }
[Array]217.Contains Duplicate