陣列中重複的數字

2021-10-06 18:48:04 字數 773 閱讀 4219

找出陣列中重複的數字。

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

示例 1:

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

輸出:2 或 3

限制:

2 <= n <= 100000

使用雜湊集合hashset。

初始化集合為空集合,定義重複數字repeat=-1;

遍歷陣列中的每個元素,將該元素新增到集合中,判斷是否新增成功。如果新增失敗,說明該元素已經在集合中,因此該元素是重複元素,將該元素的值賦給repeat並結束遍歷。

class

solution

}return repeat;

}}

如果沒有重複數字,那麼正常排序後,數字i應該是在下標為i的位置。所以思路是重新掃瞄陣列,遇到下標為i的數字如果不是i的話,(假設為m),則將其與下標為m的數字交換,如果在交換過程**現重複數字,則終止。

class

solution

temp=nums[i]

; nums[i]

=nums[temp]

; nums[temp]

=temp;}}

return-1

;}}

陣列 陣列中重複的數字

在乙個長度為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 因為陣列中...