在乙個長度為n的陣列裡的所有數字都在0到n-1的範圍內。 陣列中某些數字是重複的,但不知道有幾個數字是重複的。也不知道每個數字重複幾次。請找出陣列中任意乙個重複的數字。 例如,如果輸入長度為7的陣列,那麼對應的輸出是第乙個重複的數字2。
**:
classsolution
else
flag[numbers[i]] = true
; }
return
false
; }
};
問題:題中說,陣列中的數字要小於length,否則輸出false。
但是我在檢測的時候,卻不允許。會有錯誤。所以只能不檢查了。
看答案的時候看到了不錯的答案,但是改變了原陣列。對於原陣列加/減 length 還可能導致溢位,但是思路不錯,沒有申請新的空間。
思路:如果這個數字出現過則把數字出現的對應下標+length,這樣數字第二次出現的時候,發現該數字下標已經改過》length,則出現過。
**:
bool duplicate(int numbers, int length, int*duplication)if (numbers[index] >=length)
numbers[index] = numbers[index] +length;
}return
false
; }
陣列 陣列中重複的數字
在乙個長度為n的陣列裡的所有數字都在0到n 1的範圍內。陣列中某些數字是重複的,但不知道有幾個數字是重複的。也不知道每個數字重複幾次。請找出陣列中任意乙個重複的數字。例如,如果輸入長度為7的陣列,那麼對應的輸出是第乙個重複的數字2。思路 python 實現 an highlighted block ...
陣列中重複的數字
在乙個長度為n的陣列裡的所有數字都在0到n 1的範圍內。陣列中某些數字是重複的,但不知道哪幾個 數字重複了,也不知道每個數字重複了幾次。請找出陣列中任意乙個重複的數字。例如 如果輸入長度為7的陣列,那麼對應的輸出是重複的數字2或者3。include iostream using namespace ...
陣列中重複的數字
題目 在乙個長度為n的陣列裡的所有數字都在0到n 1的範圍內。陣列中某些數字是重複的,但不知道有幾個數字是重複的。也不知道每個數字重複幾次。請找出陣列中任意乙個重複的數字。例如,如果輸入長度為7的陣列,那麼對應的輸出是重複的數字2或者3。思路 用雜湊表解決的時間複雜度和空間複雜度為o n 因為陣列中...