剑指offer: 面试题03. 数组中重复的数字
生活随笔
收集整理的這篇文章主要介紹了
剑指offer: 面试题03. 数组中重复的数字
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
題目:找出數(shù)組中重復(fù)的數(shù)字。
在一個(gè)長(zhǎng)度為 n 的數(shù)組 nums 里的所有數(shù)字都在 0~n-1 的范圍內(nèi)。數(shù)組中某些數(shù)字是重復(fù)的,但不知道有幾個(gè)數(shù)字重復(fù)了,也不知道每個(gè)數(shù)字重復(fù)了幾次。請(qǐng)找出數(shù)組中任意一個(gè)重復(fù)的數(shù)字。
示例 1:
輸入:
[2, 3, 1, 0, 2, 5, 3]
輸出:2 或 3
限制:
2 <= n <= 100000
解題:Hashset
空間復(fù)雜度O(n),時(shí)間復(fù)雜度O(1)
class Solution {
public:int findRepeatNumber(vector<int>& nums) {vector<int> hash(nums.size(), -1);for (auto n : nums) {if (hash[n] == 0) return n;++hash[n];}return -1;}
};
?
鞏固時(shí)間/空間復(fù)雜度的相關(guān)知識(shí):
https://blog.csdn.net/haha223545/article/details/93619874
總結(jié)
以上是生活随笔為你收集整理的剑指offer: 面试题03. 数组中重复的数字的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 解决Qt+OpenGL更换图像纹理的问题
- 下一篇: 剑指offer:面试题04. 二维数组中