442. Find All Duplicates in an Array
Given an array of integers, 1 ≤ a[i] ≤?n?(n?= size of array), some elements appear?twice?and others appear?once.
Find all the elements that appear?twice?in this array.
Could you do it without extra space and in O(n) runtime?
?
Example:
Input: [4,3,2,7,8,2,3,1]Output: [2,3]解題思路:
用unordered_map掃描一遍。
?
class Solution {
public:
vector<int> findDuplicates(vector<int>& nums) {
unordered_map<int,int> store;
vector<int> duplicate;
for(int i=0;i<nums.size();i++){
if(store.count(nums[i]) == 1) {
duplicate.push_back(nums[i]);
}
else{
store[nums[i]]++;
}
}
return duplicate;
}
};
轉載于:https://www.cnblogs.com/liangyc/p/8783807.html
總結
以上是生活随笔為你收集整理的442. Find All Duplicates in an Array的全部內容,希望文章能夠幫你解決所遇到的問題。