uacs2024

导航

leetcode169-多数元素

169. 多数元素

这道题虽然是简单题,但是有很多精妙的解法。详情看官方题解

class Solution {
public:
    int majorityElement(vector<int>& nums) {
        int size=nums.size();
        if(size<=2) return nums[0];
        int count=1,now=nums[0];
        for(int i=1;i<size;i++)
        {
            if(nums[i]==now)    count++;
            else count--;
            if(count==-1)
            {
                count=1;
                now=nums[i];
            }
        }
        return now;
        /*int size=nums.size();
        if(size<=2) return nums[0];
        unordered_map<int,int> mapmap;
        for(int i=0;i<size;i++)
        {
            mapmap[nums[i]]++;
            if(mapmap[nums[i]]>(size/2))  return nums[i];
        }
        return 0;*/
    }
};

 

posted on 2022-09-29 14:32  ᶜʸᵃⁿ  阅读(14)  评论(0编辑  收藏  举报