给你一个整数数组 nums 。如果任一值在数组中出现 至少两次 ,返回 true ;如果数组中每个元素互不相同,返回 false 。
1.暴力法:
双层for循环,遍历对于每个元素,遍历一遍数组,复杂度为n^2,当输入数组很大时,会超时。
2.排序后比较相邻元素:
用c++的sort函数,因为nums是向量,排序的语法为sort(nums.begin(),nums.end());
如果是数组,语法为nums.sort()或nums(A,A+n)。
class Solution {
public:
bool containsDuplicate(vector& nums) {
int length = nums.size();
if (length <=1)
{
return false;
}
sort(nums.begin(),nums.end());
for (int i = 0;i < length-1;i++)
{
if (nums[i] == nums[i+1])
return true;
}
return false;
}
};



