leetcode-217存在重复元素

题意

给定一个整数数组,判断是否存在重复元素。

如果任何值在数组中出现至少两次,函数返回 true。如果数组中每个元素都不相同,则返回 false。

示例 1:

输入: [1,2,3,1]
输出: true

示例 2:

输入: [1,2,3,4]
输出: false

示例 3:

输入: [1,1,1,3,3,4,3,2,4,2]
输出: true

算法

用时:24ms

复杂度:<= O(n)

升序排序,遍历数组,如果存在元素与后一元素值相等,结束返回true;否则,返回false。

code

 1 class Solution {
 2 public:
 3     bool containsDuplicate(vector<int>& nums) {
 4         int len = nums.size();
 5         if(len == 0 || len == 1)
 6             return false;
 7         
 8         bool ans = false;
 9         sort(nums.begin(), nums.end());//排序
10         for(int i=0; i<len-1; i++)
11         {
12             if(nums[i] == nums[i+1])
13             {
14                 ans = true;
15                 break;
16             }
17         }
18         return ans;
19     }
20 };