leetcode + 投票法则 求众数

点击打开链接
//投票法求众数
class Solution {
public:
    vector<int> majorityElement(vector<int>& nums) {
        int counter1=0, counter2=0;
        int nums1=0, nums2=0;
        for(int i=0; i<nums.size(); i++){
            if(nums1 == nums[i]){
                counter1+=1;
            }
            else if(nums2 == nums[i]){
                counter2 +=1;
            }
            else if(counter1 == 0){
                counter1 +=1;
                nums1 =nums[i];
            }
            else if(counter2==0){
                counter2 +=1;
                nums2 = nums[i];
            }
            else{
                counter1-=1;
                counter2-=1;
            }
        }
        vector<int> res;
        counter1=0, counter2=0;
        for(int i=0; i<nums.size();i++){
            if(nums[i]==nums1) counter1+=1;
            else if(nums[i]== nums2) counter2+=1;
        }
        if(counter1 >nums.size()/3) res.push_back(nums1);
        if(counter2 >nums.size()/3) res.push_back(nums2);
        return res;
    }
};

阅读更多
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/u013554860/article/details/79959015
个人分类: Leetcode
上一篇leetcode + 数学题,求两个矩形总面积
下一篇leetcode + 投票法则求众数
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

关闭
关闭
关闭