217. 存在重复元素
给定一个整数数组,判断是否存在重复元素。
如果任意一值在数组中出现至少两次,函数返回 true
。如果数组中每个元素都不相同,则返回 false
。
--解题思路--
- 数组排序,判断相邻两个元素是否相同
- 使用Set集合,最后判断Set的大小和原数组的大小
--解题代码--
1.数组排序,判断相邻两个元素是否相同
public boolean containsDuplicate(int[] nums) { Arrays.sort(nums); for(int i=0;i<nums.length-1;++i){ if(nums[i]==nums[i+1]) return true; } return false; }
2.使用Set集合,最后判断Set的大小和原数组的大小
public boolean containsDuplicate1(int[] nums) { Set set = new HashSet(); for(int i:nums){ set.add(i); } return set.size()<nums.length?true:false; }
--写在后面的话--
1.概述
Set集合类似于一个罐子,程序可以依次把多个对象“丢进”Set集合,而Set集合通常不能记住元素的添加顺序。
Set集合不允许包含相同的元素,如果试图把两个相同元素加入同一个Set集合中,则添加操作失败,add()方法返回false,且新元素不会被加入。
2.常用方法
(1)add方法
int[] nums = {1,7,4,9,2,5}; Set set = new HashSet(); for(int i:nums){ set.add(i); } System.out.println(set);
结果:
(2)size()
返回集合大小