LeetCode 217:存在重複元素

題目:

給定一個整數數組,判斷是否存在重複元素。
如果任何值在數組中出現至少兩次,函數返回 true。如果數組中每個元素都不相同,則返回 false。

示例 1:

輸入: [1,2,3,1]
輸出: true

示例 2:

輸入: [1,2,3,4]
輸出: false

示例 3:

輸入: [1,1,1,3,3,4,3,2,4,2]
輸出: true

解題思路:

我們需要做的是判斷一個整數數組中是否存在重複元素。在數組中,一但有一個元素出現倆次及倆次以上,那麼函數就返回一個true;否則返回false。所以我們想到對數組排序,然後進行遍歷,判斷nums[i]和nums[i+1]是否相等就可以解決問題,特殊情況是數組的長度爲1。

解題步驟:

1、對數組進行排序。
2、開始for循環遍歷。
3、特殊情況處理。使用if
4、判斷是否相等。

代碼實現(Java):

class Solution {
    public boolean containsDuplicate(int[] nums) {
        Arrays.sort(nums);//給數組nums進行排序
        for(int i=0;i<nums.length-1;i++){//開始遍歷
            if(nums.length<1){//判斷特殊情況
                return false;
            }
            if(nums[i]==nums[i+1]){//判斷是否相等
                return true;
            }
        }
        return false;
    }
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章