存在重复元素
给你一个整数数组 nums 。如果任一值在数组中出现 至少两次 ,返回 true ;如果数组中每个元素互不相同,返回 false 。
示例 1:
一开始想的是,两个for循环,当遇到有两个元素相等的时候就返回false,但是,这对于一个特别大的数组来说,太浪费时间了。
看了题解,c++里面的排序函数很好用,先排序,当有两个相邻元素相等的时候,就可以返回了。
class Solution {
public:
bool containsDuplicate(vector<int>& nums) {
sort(nums.begin(),nums.end());
int num = nums.size();
int flag = 0;
for(int i=0;i<num-1;i++)
{
if(nums[i]==nums[i+1])
{flag = 1;
break;}
}
return flag;
}
};
至于哈希表,暂时还不懂。。。
看了评论区,java一行代码就可以完成,但是现在还没学那么多,接着学吧。