Computer >> Máy Tính >  >> Lập trình >> Python

Phát hiện gian lận cử tri bằng Python

Giả sử chúng ta có một danh sách phiếu bầu, trong đó mỗi phần tử trong danh sách có hai phần tử [c_id, v_id], c_id là id ứng cử viên và v_id là id cử tri. Chúng tôi phải kiểm tra xem có người bỏ phiếu nào đã bỏ phiếu nhiều hơn một lần hay không.

Vì vậy, nếu đầu vào là [[5, 1], [5, 0], [5, 4], [5, 3], [5, 0]], thì đầu ra sẽ là True là [5,0 ] ispresent hai lần

Để giải quyết vấn đề này, chúng tôi sẽ làm theo các bước sau -

tạo một tập hợp mới có tên là tất cả

  • đối với mỗi phiếu bầu trong phiếu bầu, hãy thực hiện
    • chèn (bỏ phiếu [1]) vào tất cả
  • trả về true khi kích thước của tất cả không bằng kích thước của phiếu bầu

Hãy cùng chúng tôi xem cách triển khai sau để hiểu rõ hơn -

Ví dụ

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))

Đầu vào

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

Đầu ra

True