在Python中查找获得热门多数票的候选人ID的程序

在Python中查找获得热门多数票的候选人ID的程序

假设我们有一个名为nums的包含n个值的数字列表,其中每个数字表示对候选人的投票。我们必须找到具有大于底(n/2)票数的候选人的ID,如果没有多数票,则返回-1。

因此,如果输入类似于nums = [6, 6, 2, 2, 3, 3, 3, 3, 3],那么输出将是3。

为了解决这个问题,我们将按照以下步骤进行−

  • l:= nums的大小
  • 计数:包含每个单独数字及其出现次数的映射
  • 对于计数中的每个数字i和出现次数j,完成以下操作
    • 如果j>(l/2),那么
      • 返回i
  • 返回-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教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程