题目:
给定一个整数数组,判断是否存在重复元素。
如果任意一值在数组中出现至少两次,函数返回 true 。如果数组中每个元素都不相同,则返回 false 。
示例 1:
输入: [1,2,3,1]
输出: true
方式一:
解题思路:
先进行排序,比较相邻两个元素,有相同的就结束循环。
代码:
public boolean containsDuplicate(int[] nums) {
Arrays.sort(nums);
boolean flag=false;
for (int i=1;i<nums.length;i++){
if (nums[i]==nums[i-1]){
flag=true;
break;
}else {
flag=false;
}
}
return flag;
}
方式二:
解题思路:
set中存放不重复的元素,将数组中的元素放入set,如果set的大小不等于数组的长度,则返回true。
代码:
public boolean containsDuplicate(int[] nums) {
HashSet<Integer> hashSet = new HashSet<>();
for (int i=0;i<nums.length;i++){
hashSet.add(nums[i]);
}
return nums.length==hashSet.size()?false:true;
}