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

파이썬에서 요소의 빈도가 짝수인지 확인하는 프로그램

<시간/>

num이라는 요소 목록이 있다고 가정하고 모든 숫자가 짝수 번 나타나는지 여부를 확인해야 합니다. 상수 공간을 사용하여 해결해야 합니다.

따라서 입력이 nums =[8, 9, 9, 8, 5, 5]와 같으면 모든 숫자가 두 번 발생했기 때문에 출력은 True가 됩니다.

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

  • 숫자의 크기가 홀수이면

    • 거짓을 반환

  • 목록 번호 정렬

  • 범위 1에서 숫자 크기까지의 i에 대해

    • nums[i]가 nums[i - 1]과 같으면

      • 숫자[i] :=0,

      • 숫자[i - 1] :=0

  • nums에 있는 모든 요소의 합이 0과 같으면 true를 반환하고 그렇지 않으면 false를 반환합니다.

더 나은 이해를 위해 다음 구현을 살펴보겠습니다.

def solve(nums):
   if len(nums) & 1:
      return False
   nums.sort()
   for i in range(1, len(nums)):
      if nums[i] == nums[i - 1]:
         nums[i] = nums[i - 1] = 0
   return sum(nums) == 0

nums = [8, 9, 9, 8, 5, 5]
print(solve(nums))

입력

[8, 9, 9, 8, 5, 5]

출력

True