Computer >> 컴퓨터 >  >> 프로그램 작성 >> Python

Python에서 유권자 사기 감지

<시간/>

투표 목록이 있다고 가정합니다. 목록의 각 요소에는 두 개의 요소 [c_id, v_id]가 있고 c_id는 후보 ID이고 v_id는 유권자 ID입니다. 투표자가 두 번 이상 투표했는지 여부를 확인해야 합니다.

따라서 입력이 [[5, 1],[5, 0],[5, 4],[5, 3],[5, 0]]과 같으면 출력은 [5,0]과 같이 True가 됩니다. ]는 두 번 나타납니다.

이 문제를 해결하기 위해 다음 단계를 따릅니다. −

all이라는 새 집합을 만듭니다.

  • 표의 각 투표에 대해 다음을 수행합니다.
    • 전체에 삽입(투표[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