牛课题霸--数组中只出现一次的数字

数组中只出现一次的数字

https://www.nowcoder.com/practice/e02fdb54d7524710a7d664d082bb7811?tpId=117&&tqId=34997&rp=1&ru=/ta/job-code-high&qru=/ta/job-code-high/question-ranking

数组中只出现一次的数字

题目链接

Solution

只有两个数字出现了1次,其他数字都出现两次。
所以定义一个map,记录每个数字出现的次数。
最后扫一遍数组,找出只出现一次的数字即可。

Code

class Solution {
public:
    void FindNumsAppearOnce(vector<int> data,int* num1,int *num2) {
        ap<int,int>mp;
        bool fir = 0;
        for (int i = 0; i < (int)data.size(); ++i) mp[data[i]] ++;
        for (int i = 0; i < (int)data.size(); ++i) 
            if (mp[data[i]] == 1) {
                if (!fir) *num1 = data[i], fir = 1;
                else *num2 = data[i];
            }
    }
};
全部评论
这个解法比较正常
点赞 回复 分享
发布于 2023-03-28 16:50 吉林

相关推荐

大摆哥:刚好要做个聊天软件,直接让你帮他干活了
点赞 评论 收藏
分享
03-16 13:56
湖南大学 C++
牛客872108596号:到现在没消息是挂了吗查看图片
点赞 评论 收藏
分享
评论
1
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务