题目:

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

如果任意一值在数组中出现至少两次,函数返回 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;
}