217. 存在重複元素
阿新 • • 發佈:2020-12-13
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()
返回集合大小