[每日一题]leetcode 137. 只出现一次的数字 II

 map映射一下就好了

class Solution {
public:
   // const int maxn = 30010;
    int vis[30010];
    map<int, int> M;
    int singleNumber(vector<int>& nums) {
        int n = nums.size();
        memset(vis, 0, sizeof(vis));
        for(int i = 0; i < n; i++)
        {
            if(M.count(nums[i]) == 0)
                M[nums[i]] = i;
            vis[M[nums[i]]]++;
        }
        int i;
        for(i = 0; i < n; i++)
            if(vis[i] == 1) break;
        return nums[i];
    }
};

 

posted @ 2021-04-30 16:33  WTSRUVF  阅读(34)  评论(0编辑  收藏  举报