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

数组中只出现一次的数字

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 吉林

相关推荐

今天 14:27
中山大学 C++
rt,day3就开始接需求
星际探神:你就想 你是水货他们都没面出来 他们也水 管他呢
点赞 评论 收藏
分享
评论
1
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务