题解 | #数组中只出现一次的两个数字#
数组中只出现一次的两个数字
https://www.nowcoder.com/practice/389fc1c3d3be4479a154f63f495abff8
#include <algorithm>
#include <unordered_map>
class Solution {
public:
/**
* 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
*
*
* @param nums int整型vector
* @return int整型vector
*/
vector<int> FindNumsAppearOnce(vector<int>& nums) {
// write code here
unordered_map<int, int> has;
vector<int> c;
for (int i = 0; i < nums.size(); i++) {
if (has.count(nums[i])) {
has[nums[i]] = has[nums[i]] + 1;
} else {
has[nums[i]] = 1;
}
}
for (int i = 0; i < nums.size(); i++) {
if (has[nums[i]]== 1) {
cout<<nums[i]<<"sadad";
c.push_back(nums[i]);
}
}
sort(c.begin(), c.end());
// Sort(c);
// return ;
return c;
}
};
哈希统计数量,然后找出只出现一次的加入vector,最后注意需要升序,用sort排序一下。