剑指offer JZ37数字在排序数组中出现的次数

题目描述

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

代码:

直接用map即可,代码如下:

class Solution {
public:
    void FindNumsAppearOnce(vector<int> data,int* num1,int *num2) {
        map<int, int> m1;
        int i;
        for(i=0;i<data.size();i++){
            m1[data[i]] ++;
        }
        int n = 0;
        for(i=0;i<data.size();i++){
            if(m1[data[i]]==1){
                if(n==1){
                    *num2 = data[i];
                    break;
                }
                *num1 = data[i];
                n=1;
            }
        }
    }
};

猜你喜欢

转载自blog.csdn.net/Twinkle_sone/article/details/107580818
今日推荐