在民主国家,我们有很多选举。例如,我们必须为学校的班级代表投票,为新议会或新政府投票。
通常情况下,我们投票给一个候选人,也就是说,给出了一组合格的候选人。这是通过将选票投进投票箱来完成的。之后,必须计算出一个候选人得到了多少张选票(=选票)。
如果一名候选人获得绝对多数票,他将赢得这次选举。
你的任务
返回获胜者的名字。如果没有获胜者,则返回null(在Java和JavaScript中),None(在Python中),nil(在Ruby中),或*在C语言中。
任务描述
没有废弃的选票。
投票箱由一个未经排序的名字列表表示。列表中的每一个条目都对应着对这个名字的一票。你事先不知道这些名字(因为没有候选人)。
如果一个名字获得的票数超过n/2(n=所有票数,即n等于给定列表的大小),则该名字赢得选举。 例子 #3票给 “A”,2票给 “B”–>”A “赢得选举
getWinner([<span class="hljs-string">"A"</span>, <span class="hljs-string">"A"</span>, <span class="hljs-string">"A"</span>, <span class="hljs-string">"B"</span>, <span class="hljs-string">"B"</span>]) == <span class="hljs-string">"A"</span> 
2票给 “A”,2票给 “B”–>没有赢家
getWinner([<span class="hljs-string">"A"</span>, <span class="hljs-string">"A"</span>, <span class="hljs-string">"B"</span>, <span class="hljs-string">"B"</span>]) == None 
对每个名字投1票 –> 没有赢家
getWinner([<span class="hljs-string">"A"</span>, <span class="hljs-string">"B"</span>, <span class="hljs-string">"C"</span>, <span class="hljs-string">"D"</span>]) == None 
3票给 “A”,2票给 “B”,1票给 “C”
-> 没有赢家(“A “没有超过n/2=3的票数)
getWinner([<span class="hljs-string">"A"</span>, <span class="hljs-string">"A"</span>, <span class="hljs-string">"A"</span>, <span class="hljs-string">"B"</span>, <span class="hljs-string">"B"</span>, <span class="hljs-string">"C"</span>] ) == None 
请记住,投票列表可以很大(n
Original: https://blog.csdn.net/qq_40523298/article/details/127822493
Author: qq_40523298
Title: 选举
原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/658705/
转载文章受原作者版权保护。转载请注明原作者出处!