题目描述解题思路代码实现
题目描述 解题思路第一种思路:
先对nums数组排序,然后再在遍历nums,如果nums[i] == nums[i + 1],则返回true。
第二种思路:
利用Set集合的性质(不存储相同值),遍历一次nums集合并set.add(),如果add失败,则存在相同元素,返回true。
这里是Set系列集合的源码分析:【攻克java集合系列(三)】java集合中的Set系列集合全面分析
代码实现class Solution { public boolean containsDuplicate(int[] nums) { Setset = new HashSet (); for(int num:nums){ if(!set.add(num)){ return true; } } return false; // 以下为思路一: // Arrays.sort(nums); // int length = nums.length; // for (int i = 0; i < length - 1; i++) { // if (nums[i] == nums[i + 1]) { // return true; // } // } // return false; } }
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)