剑指offer-40.数组中只出现一次的数字

来源:互联网 发布:苏有朋斥周杰炒作知乎 编辑:程序博客网 时间:2024/06/05 18:35

题目:一个整型数组里除了两个数字之外,其他的数字都出现了两次。请写程序找出这两个只出现一次的数字。


思路:本文采用哈希表,但是牛客网上绝大多数都采用异或。


class Solution {public:    void FindNumsAppearOnce(vector<int> data,int* num1,int *num2)     {        //第一次使用哈希表,还是有点紧张        unordered_map<int,int>map;        for (int i = 0; i < data.size(); i++)        {            map[data[i]]++;        }        vector<int>vec;        for (int i = 0; i < data.size(); i++)        {            if (map[data[i]] == 1)                vec.push_back(data[i]);        }        *num1 = vec[0];        *num2 = vec[1];        //思路还是挺清晰的    }};


0 0
原创粉丝点击