zoukankan      html  css  js  c++  java
  • 今天了解了一下摩尔投票法

    今天了解了一下摩尔投票法

    原题是leetcode229

    • 注意题目中有个条件是 找出其中所有出现超过 ⌊ n/3 ⌋ 次的元素。
    • 这个条件给我们的提示就是,不到⌊ n/3 ⌋ 次的人,一视同仁。
    • 基于这样的约定,我们才可以设置两个固定坑位之后,遍历数组。
    • 也就是说,本来在坑位上的人,如果不足以达到n/3这样的条件,那就可以将他请下来。换言之,我们一直关注的都是当前已经在领奖台上的人,如果不在,只能说明他已经不符合n/3的要求,尽管他曾经票数很多。
    • 之后就按照一般的思想进行下去即可。

    为了便于理解,再想想n/4的情况

    • 这种情况下应该设置3个坑位,并且每次同时任选四个人进行一轮竞争。

    注意这种题目和一般的找众数的区别,就是在有限制条件,不然是无法实现O(n)的。

    Stay hungry
  • 相关阅读:
    每日日报63
    每日日报62
    每日日报61
    每日日报60
    每日日报59
    每日日报58
    el-table表格拖动排序
    vue/eslint
    $attrs $listeners
    table封装成全局组件
  • 原文地址:https://www.cnblogs.com/agnes6/p/13603367.html
Copyright © 2011-2022 走看看