美文网首页
投票算法

投票算法

作者: G_whk | 来源:发表于2020-03-25 21:19 被阅读0次
定义

最基本的摩尔投票问题,找出一组数字序列中出现次数大于总数1/2的数字(并且假设这个数字一定存在)。显然这个数字只可能有一个。摩尔投票算法是基于这个事实:每次从序列里选择两个不相同的数字删除掉(或称为“抵消”),最后剩下一个数字或几个相同的数字,就是出现次数大于总数一半的那个。

example

leetcode 169 题

问题:

给定一个大小为 n 的数组,找到其中的多数元素。多数元素是指在数组中出现次数大于 ⌊ n/2 ⌋ 的元素。
你可以假设数组是非空的,并且给定的数组总是存在多数元素。

答案:
 majorityElement(nums) {
    let arr = nums[0],
        count = 1;
    for (let i = 1, len = nums.length; i < len; i++) {
        if (count == 0) {
            arr = nums[i];
        }
        if (arr == nums[i]) {
            count++;
        } else {
            count--;
        }
    }
    return arr;
};

参考

更加详细的讲解请参考:https://www.zhihu.com/question/49973163

相关文章

  • Leetcode笔记

    Boyer-Moore 投票算法

  • 投票算法

    定义 最基本的摩尔投票问题,找出一组数字序列中出现次数大于总数1/2的数字(并且假设这个数字一定存在)。显然这个数...

  • LeetCode精讲:摩尔投票算法

    什么是摩尔投票算法? 摩尔投票算法是一种使用线性时间和常数空间查找大部分元素序列的算法。它以1981年出版的Rob...

  • 使用摩尔投票法解决多数问题

    1、什么是摩尔投票法 博耶-摩尔多数投票算法(英语:Boyer–Moore majority vote algor...

  • leetcode-Boyer-Moore majority vo

    Boyer-Moore majority vote algorithm(摩尔投票算法) 简介 Boyer-Moor...

  • 常用的算法总结

    风控模型常用的算法总结 一、常用算法 监督算法 随机森林采用投票机制,xgb则是弱学习机的集合。随机森林关注方差,...

  • ABitchain项目周报 2018年02月26日

    核心开发工作: 1.主链开发: 1.1共识: 开发DPOS投票机制、洗牌算法、代理出块算法 —60% 1.2经济模...

  • 随机森林

    集成学习(ensemble) 由多种算法给出判断结果并投票,以一定的原则综合这些投票并进行决策.e.g. 病情确诊...

  • KNN 算法的理解

    KNN算法--投票猜党派 KNN分类方法可以理解为投票法。把训练数据集当做选民,K值当做这些选民所拥有的选票。现在...

  • 第六章:优化近邻算法

    KNN 算法 k 近邻算法( kNN ):考察新记录周围距离最近的 k 条记录,而不是只看一条。 每个近邻都有投票...

网友评论

      本文标题:投票算法

      本文链接:https://www.haomeiwen.com/subject/kfpxuhtx.html