描述
給出乙個陣列 nums 包含 n + 1 個整數,每個整數是從 1 到 n (包括邊界),保證至少存在乙個重複的整數。假設只有乙個重複的整數,找出這個重複的數。
1.不能修改陣列(假設陣列只能讀)
2.只能用額外的o(1)的空間
3.時間複雜度小於o(n^2)
4.陣列中只有乙個重複的數,但可能重複超過一次
您在真實的面試中是否遇到過這個題?
樣例給出 nums = [5,5,4,3,2,1],返回 5.
給出 nums = [5,4,4,3,2,1],返回 4.
題目鏈結
程式
class solution ,對映關係為->1,1->2,2->3,會形成環。
int findduplicate(vector&nums) while(fast != slow);
fast = 0;
while(slow != fast)
return fast;
}};
中等 LeetCode 442 陣列中重複的資料
題目 給定乙個整數陣列 a,其中1 a i n n為陣列長度 其中有些元素出現兩次而其他元素出現一次。找到所有出現兩次的元素。你可以不用到任何額外空間並在o n 時間複雜度內解決這個問題嗎?示例 解題思路及 1.思路 根據題意,陣列中元素大小範圍為1 n,與陣列索引範圍0 n 1 只相差1,所以我們...
尋找重複的數 LintCode
給出乙個陣列 nums 包含 n 1 個整數,每個整數是從 1 到 n 包括邊界 保證至少存在乙個重複的整數。假設只有乙個重複的整數,找出這個重複的數。注意事項 不能修改陣列 假設陣列只能讀 只能用額外的o 1 的空間 時間複雜度小於o n 2 陣列中只有乙個重複的數,但可能重複超過一次 樣例 給出...
陣列 三數之和 中等
描述 給出乙個有n個整數的陣列s,在s中找到三個整數a,b,c,找到所有使得a b c 0的三元組。在三元組 a,b,c 要求a b c。結果不能包含重複的三元組。樣例如s 你需要返回的三元組集合的是 1,0,1 1,1,2 題目鏈結 分析 因為題目說不能出現重複陣列,所以我們需要排除這種情況,一旦...