287 尋找重複數

2021-09-28 18:25:56 字數 1115 閱讀 2050

給定乙個包含 n +

1 個整數的陣列 nums,其數字都在 1 到 n 之間(包括 1 和 n),可知至少存在乙個重複的整數。假設只有乙個重複的整數,找出這個重複的數。

示例 1

:輸入:[1

,3,4

,2,2

]輸出:

2示例 2

:輸入:[3

,1,3

,4,2

]輸出:

3說明:

不能更改原陣列(假設陣列是唯讀的)。

只能使用額外的 o(1

) 的空間。

時間複雜度小於 o

(n2) 。

陣列中只有乙個重複的數字,但它可能不止重複出現一次。

最開始想到的是先排序,然後看前後有沒有兩個元素相等

class

solution

}return-1

;}}/

/leetcode-cn.com/problems/find-the-duplicate-number/solution/xun-zhao-zhong-fu-shu-by-leetcode/

然後想到的是集合去重

class

solution

seen.

add(num);}

return-1

;}}/

/leetcode-cn.com/problems/find-the-duplicate-number/solution/xun-zhao-zhong-fu-shu-by-leetcode/

還可以再說一下桶排序

public

class

solution}if

(counter > mid)

else

}return left;}}

/solution/er-fen-fa-si-lu-ji-dai-ma-python-by-liweiwei1419/

class

solution

return nums[slow];}

}}}

287 尋找重複數

給定乙個包含 n 1 個整數的陣列 nums,其數字都在 1 到 n 之間 包括 1 和 n 可知至少存在乙個重複的整數。假設只有乙個重複的整數,找出這個重複的數。示例 1 輸入 1,3,4,2,2 輸出 2 示例 2 輸入 3,1,3,4,2 輸出 3 說明 不能更改原陣列 假設陣列是唯讀的 只能...

287 尋找重複數

給定乙個包含 n 1 個整數的陣列 nums,其數字都在 1 到 n 之間 包括 1 和 n 可知至少存在乙個重複的整數。假設只有乙個重複的整數,找出這個重複的數。示例 1 輸入 1,3,4,2,2 輸出 2示例 2 輸入 3,1,3,4,2 輸出 3說明 不能更改原陣列 假設陣列是唯讀的 只能使用...

287 尋找重複數

287.尋找重複數 給定乙個包含 n 1 個整數的陣列 nums,其數字都在 1 到 n 之間 包括 1 和 n 可知至少存在乙個重複的整數。假設只有乙個重複的整數,找出這個重複的數。示例 1 輸入 1,3,4,2,2 輸出 2 示例 2 輸入 3,1,3,4,2 輸出 3 說明 不能更改原陣列 假...