給定乙個包含 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 說明 不能更改原陣列 假...