在Python中检测选民欺诈

假设我们有一个投票列表,列表中的每个元素都有两个元素[c_id,v_id],c_id是候选ID,v_id是投票者ID。我们必须检查是否有任何选民投票了一次以上。

因此,如果输入类似于[[5,1],[5,0],[5,4],[5,3],[5,0]],则输出将为True [5,0 ]出现两次

为了解决这个问题,我们将遵循以下步骤-

制作一个名为all的新集

  • 为每一票进行投票

    • 全部插入(vote [1])

  • 当所有人的大小与选票的大小不同时返回true

让我们看下面的实现以更好地理解-

示例

class Solution:
   def solve(self, votes):
      all = set()      for vote in votes:
         all.add(vote[1])
      return len(all) != len(votes)
ob = Solution()votes = [[5, 1],[5, 0],[5, 4],[5, 3],[5, 0]]
print(ob.solve(votes))

输入值

[[5, 1],[5, 0],[5, 4],[5, 3],[5, 0]]

输出结果

True