用 Python 编写程序查找获得热门多数票的候选人的 ID
pythonserver side programmingprogramming
假设我们有一个名为 nums 的数字列表,其中包含 n 个值,其中每个数字代表对候选人的投票。我们必须找到票数大于 floor(n/2) 的候选人的 ID,如果没有多数票,则返回 -1。
因此,如果输入为 nums = [6, 6, 2, 2, 3, 3, 3, 3, 3],则输出将为 3。
为了解决这个问题,我们将遵循以下步骤 −
- l := nums 的大小
- count := 包含每个单独数字及其出现次数的映射
- 对于 count 中的每个数字 i 和出现次数 j,执行
- 如果 j > (l / 2),则
- 返回 i
- 如果 j > (l / 2),则
- 返回 -1
让我们看看下面的实现以便更好地理解 −
示例
class Solution: def solve(self, nums): l = len(nums) from collections import Counter count = Counter(nums) for i, j in count.items(): if j > (l // 2): return i return -1 ob = Solution() nums = [6, 6, 2, 2, 3, 3, 3, 3, 3] print(ob.solve(nums))
输入
[6, 6, 2, 2, 3, 3, 3, 3, 3]
输出
3
相关文章
有用资源
python 参考教程 - 该教程包含有关 python 的更多信息:https://www.cainiaomax.com/python/

