题解 | #数组中只出现一次的两个数字#
数组中只出现一次的两个数字
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排序一下。