在 Python 中检测选民舞弊现象
假设我们有一个选票列表,列表中的每个元素有 [c_id, v_id] 两个元素,其中 c_id 是候选人编号,v_id 是选民编号。我们需要检查是否有任何选民投票超过一次。
因此,如果输入类似于 [[5, 1],[5, 0],[5, 4],[5, 3],[5, 0]],则输出将为 True,因为 [5,0] 出现了两次
为了解决这个问题,将按照以下步骤进行 −
创建一个新集合,名为 all
- 对 votes 中的每个选票进行操作
- 将 (vote[1]) 插入 all
- 当 all 的大小与 votes 的大小不同时,返回 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
广告