1. 程式人生 > 實用技巧 >217. 存在重複元素

217. 存在重複元素

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()

返回集合大小