LeetCode 尋找重複數 287

2022-03-11 06:37:51 字數 831 閱讀 9383

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

示例 1:

輸入:[1,3,4,2,2]輸出:2
示例 2:

輸入:[3,1,3,4,2]輸出:3
說明:不能更改原陣列(假設陣列是唯讀的)。

只能使用額外的 o(1) 的空間。

時間複雜度小於 o(n

2) 。

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

這道題由於說明中對時間複雜度和空間複雜度的限制,我們採用了龜兔相遇求環入口的方式,這種方式的的前提是我們要把乙個陣列看做乙個又環鏈表,元素的值標識下乙個元素的位置,元素的下表標識該元素的位置

如果你能理解上面這段話的意思的話,我們可以看看入口的求解方式:

//第二次相遇

fast=0;

while(slow!=fast)

return slow;

}return -1;}}

LeetCode 尋找重複數

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

LeetCode 尋找重複數

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

leetcode 尋找重複數

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