劍指Offer-03 數組中重複的數字

題意

找出數組中重複的數字。

在一個長度爲 n 的數組 nums 裏的所有數字都在 0~n-1 的範圍內。數組中某些數字是重複的,但不知道有幾個數字重複了,也不知道每個數字重複了幾次。請找出數組中任意一個重複的數字。

示例

輸入:
[2, 3, 1, 0, 2, 5, 3]
輸出:2 或 3 

解答


class Solution {
    public int findRepeatNumber(int[] nums) {
        // 定義一個長度爲 nums.length 的數組
        int[] numArray = new int[nums.length];
        // 如果有位子 >=2 則拋出
        for(int i=0;i<nums.length;i++){
            int value = nums[i];
            numArray[value] += 1;
            if(numArray[value] > 1){
                return value;
            } 
        }
        // 沒有
        return -1;
    }
}

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章