zoukankan      html  css  js  c++  java
  • 摩尔投票

    摩尔投票

    摩尔投票的概念就是回合制比拼擂台赛,不分高下,只分生死。
    A队有10个人,B队友7个人。
    假设所有人能力相同,只要上了擂台赛,基本都是极限1换1.
    那么因为A队有10人,而B队友7人,一换一的情况下,肯定是A队剩余三人,A队胜出。

    那么情景换成选美国总统,众所周知美国有两党:共和党、民主党。
    1亿美国人去投票选美国总统,少数服从多数。

    string major = 0, count =0;
    foreach(var party in people)
    {
    	if(major == 0) major = party;
    	if(major == party) count++;
    	else{
    		count--;
    	}
    }
    return major;
    

    代码解析:

    假设 众数党派是:major = 0, 众数党派选票为: count =0

    我们首先遍历一亿美国人手里的选票。

    默认第一个人的选票为众数

    把每一个人的选票和众数作比较。

    如果选的政党相同,那么众数选票加1,如果不同,选票减1.

    当所有人的选票比对完成后,众数就是当选的政党。

  • 相关阅读:
    又见Dooyoul
    用premake编译跨平台opencv程序
    [try it] 使用Apache Ant
    用OllyDbg做破解
    什么是SEO
    SEO最新百度排名算法调整
    SEO网站外链的建设
    SEO网站title优化
    网站title优化应注意的细节
    [ios]设置ARC 【转】
  • 原文地址:https://www.cnblogs.com/tangpeng97/p/14479580.html
Copyright © 2011-2022 走看看