给出2*n + 2个的数字,除其中两个数字之外其他每个数字均出现两次,找到这两个数字。
样例
样例 1:
输入: [1,2,2,3,4,4,5,3]
输出: [1,5]
样例 2:
输入: [1,1,2,3,4,4]
输出: [2,3]
挑战
O(n)时间复杂度,O(1)的额外空间复杂度
class Solution {
public:
/**
* @param A: An integer array
* @return: An integer array
*/
vector<int> singleNumberIII(vector<int> &A) {
// write your code here
vector<int> result;
map<int,int> temp;
for (int i = 0; i < A.size(); i++) {
/* code */
temp[A[i]]++;
}
for (auto i : temp) {
/* code */
if(i.second%2) result.push_back(i.first);
}
return result;
}
};