摩尔投票算法

摩尔投票算法

从一个元素序列中获取出现频率大于⌊ n/2 ⌋(向下取整)的元素。

  • 如果不存在这个数则返回的结果具有任意性

  • 假如存在那么只会存在一个这个数,结果具有唯一性

    初始化第一个元素出现(权重为1),遍历元素序列,如果后面的元素与之相同则计数加1(表示当前的出线元素的权重),不同则需要抵消权重,如果权重为0,则是当前元素元素出线(初始化权重为1),如此遍历元素,会得到权重不为一的元素,该元素就是最终结果。

    当存在满足要求的元素的时候,从整体上来看这个算法,满足要求的元素的权重是一定大于或者等于1的。关于权重的抵消,类似于擂台赛事,最终站在擂台上的才是最终结果。当有满足要求的元素,那么最终站在擂台上的一定是该元素,如果不存在那么最终擂台上的元素受元素顺序的影响。

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值