重複的元素

2021-10-23 03:59:56 字數 878 閱讀 5953

乙個陣列長度為n,元素分別為0-到n-1;已經知道存在重複元素;返回重複元素;要求時間o(n);空間o(1);

public

intduplicate

(int numbers,

int length,

int[

] duplication)

for(

int i =

0; i < length; i++

)else}}

return duplication[0]

;}

給定乙個範圍在 1 ≤ a[i] ≤ n (n = 陣列大小 ) 的 整型陣列,陣列中的元素一些出現了兩次,另一些只出現一次。

找到所有在 [1, n] 範圍之間沒有出現在陣列中的數字。

您能在不使用額外空間且時間複雜度為o(n)的情況下完成這個任務嗎? 你可以假定返回的陣列不算在額外空間內。

輸入:[4

,3,2

,7,8

,2,3

,1]輸出:[5

,6]

思路:首先給出的陣列數值範圍是1-n;要求不用空間;所以我們可以比較交換將該數值交換到合適的位置;

public

list

<

integer

>

(int

nums)

}for

(int i=

0;i(nums[i]

!=i+1)

res.

add(i+1)

;return res;

}

重複元素的刪除

time limit 1000ms memory limit 65536k 按照資料輸入的相反順序 逆位序 建立乙個單鏈表,並將單鏈表中重複的元素刪除 值相同的元素只保留最後輸入的乙個 第一行輸入元素個數n 第二行輸入n個整數。第一行輸出初始鍊錶元素個數 第二行輸出按照逆位序所建立的初始鍊錶 第三行...

重複N次的元素

在大小為 2n 的陣列 a 中有 n 1 個不同的元素,其中有乙個元素重複了 n 次。返回重複了 n 次的那個元素。示例 1 輸入 1,2,3,3 輸出 3 示例 2 輸入 2,1,2,5,3,2 輸出 2 示例 3 輸入 5,1,5,2,5,3,5,4 輸出 5 4 a.length 10000 ...

List去除重複的元素

有兩種方法,一種是去重不帶順序的,一種是去重帶順序的。方法1 無順序 hastset根據hashcode判斷是否重複,資料不會重複 public static listdeleteduplicate listlist 方法2 帶順序 通過hashset的add方法判斷是否已經新增過相同的資料,如果已...