力扣刷题217.存在重复元素

力扣刷题217.存在重复元素_第1张图片
思路一:将数组进行排序,Arrays.sort()。如果出现了相同元素,则应该在相邻的位置上。

class Solution{
    public boolean remove(int[] num){
        Arrays.sort(num);
        for (int i = 0; i < num.length; i++) {
            if (num[i] == num[i+1]){
                return true;
            }
        }
        return false;
    }
}

思路二:采用hashset的方法,如果不能添加进去集合,则表明存在相同元素。

class Solution2{
    public boolean remove2(int[] num){
        HashSet<Integer> integers = new HashSet<>();
        for (int i = 0; i < num.length; i++) {
            if (!(integers.add(num[i]))){
                return true;
            }
        }
        return false;
    }
}

你可能感兴趣的:(leetcode刷题,leetcode,排序算法,算法)