LeetCode 217 存在重复元素

    科技2022-07-10  130

    1.第一种排序,循环

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

     

    想了很久,觉得排序再循环很白痴。但是出来效果还不错

    2.循环+去重

    class Solution { public boolean containsDuplicate(int[] nums) { Set<Integer> res = new HashSet<Integer>(); for(int i:nums) res.add(i); return res.size()<nums.length?true:false; } }

     

    这是去重比排序复杂度高的意思么? 下面是改良版,看来是

    class Solution { public boolean containsDuplicate(int[] nums) { Set<Integer> res = new HashSet<Integer>(); for(int i:nums){ if(!res.add(i)) return true; } return false; } }

     

    Processed: 0.010, SQL: 8