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.

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

  • 相关阅读:
    将变量名变为字符串
    sqlte3 的约束
    sqlte3 的基本使用4
    sqlite 的基本使用3
    sqlite 的基本使用2
    sqlite 的基本使用1
    TCP和UDP的区别(转)
    Mac 如何优雅的使用Microsoft office
    RGB和HSV颜色空间
    腾讯云视频开发相关参考
  • 原文地址:https://www.cnblogs.com/tangpeng97/p/14479580.html
Copyright © 2011-2022 走看看