您当前的位置: 首页 > 

对方正在debug

暂无认证

  • 5浏览

    0关注

    399博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

多数元素(思维)

对方正在debug 发布时间:2020-04-01 15:07:39 ,浏览量:5

题目 给定一个大小为 n 的数组,找到其中的多数元素。多数元素是指在数组中出现次数大于 ⌊ n / 2 ⌋ ⌊ n/2 ⌋ ⌊n/2⌋ 的元素。你可以假设数组是非空的,并且给定的数组总是存在多数元素。 题解:利用多数元素个数超总数一半的特点,维护当前数的cnt即可。时间O(n),空间O(1)。

class Solution {
public:
    int majorityElement(vector& nums) {
        int n = nums.size();
        int cnt = 0,ans;
        for(auto x:nums) {
            if(cnt == 0) ans = x,++cnt;
            else if(ans != x) --cnt;
            else ++cnt;
        }
        return ans;
    }
};
关注
打赏
1664895754
查看更多评论
立即登录/注册

微信扫码登录

0.1059s