python投票问题,程序列出在python中获得多数投票的候选人
假設(shè)我們有一個稱為nums的數(shù)字列表,其中每個數(shù)字代表對候選人的投票。我們必須以不降序的順序找到大于底數(shù)(n / 3)的候選人ID。
因此,如果輸入類似于nums = [3、2、6、6、6、6、7、7、7、7、7、7],那么輸出將為[6、7],因?yàn)?和7等于40 %的選票。
為了解決這個問題,我們將遵循以下步驟-ans:=一個新的空集
排序列表編號
i:= 0
n:= nums的大小
當(dāng)我
如果出現(xiàn)nums [i]個nums>(n / 3),則
我:=我+(n / 3)
按排序順序返回ans
讓我們看下面的實(shí)現(xiàn)以更好地理解-
例class?Solution:
def?solve(self,?nums):
ans?=?set([])
nums.sort()
i?=?0
n?=?len(nums)
while?i?
if?nums.count(nums[i])?>?n?// 3:
ans.add(nums[i])
i?+=?n?// 3
return?sorted(list(ans))
ob?=?Solution()nums?=?[3,?2,?6,?6,?6,?6,?7,?7,?7,?7,?7]
print(ob.solve(nums))
輸入值[3,?2,?6,?6,?6,?6,?7,?7,?7,?7,?7]
輸出結(jié)果[6,?7]
總結(jié)
以上是生活随笔為你收集整理的python投票问题,程序列出在python中获得多数投票的候选人的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: PHP OOP(面向对象)进阶知识之“T
- 下一篇: 达叔的游戏框架(二) 得到其他模块的方式