题解 | #数组中只出现一次的两个数字#
数组中只出现一次的两个数字
https://www.nowcoder.com/practice/389fc1c3d3be4479a154f63f495abff8
#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> hashmap; for(int i=0;i<nums.size();i++) { if (hashmap.find(nums[i])!=hashmap.end()) { hashmap.erase(nums[i]); } else { hashmap[nums[i]]=1; } } vector<int> result; for (auto i=hashmap.begin();i!=hashmap.end();i++) { result.push_back(i->first); } if (result[0]>result[1]) swap(result[0],result[1]); return result; } };
这样使用的内存最少,如果已经存在过,则删掉不需要继续存着