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

Python의 고유한 발생 수

<시간/>

배열이 있다고 가정합니다. 각 요소에 고유한 발생 횟수가 있는지 확인해야 합니다. 그러한 요소가 없으면 false를 반환하고, 그렇지 않으면 true를 반환합니다. 따라서 배열이 [1, 1, 2, 2, 2, 3, 4, 4, 4, 4]와 같으면 요소 1이 두 번, 2가 세 번, 3이 있으면 true를 반환합니다. 한 번 표시되고 4가 네 번 표시됩니다.

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

  • 배열 요소의 빈도를 찾습니다.
  • 빈도 맵의 각 키-값 쌍에 대해
    • 값이 다른 맵 mp에 있으면 false를 반환합니다.
    • mp[값] 입력 :=1
  • 참을 반환

예시

이해를 돕기 위해 다음 구현을 살펴보겠습니다. −

class Solution(object):
   def uniqueOccurrences(self, arr):
      d = {}
      for i in arr:
         if i not in d:
            d[i] =1
         else:
            d[i]+=1
      l = {}
      for x, y in d.items():
         if y in l:
            return False
         l[y] = 1
      return True
ob1 = Solution()
print(ob1.uniqueOccurrences([1,1,2,2,2,3,4,4,4,4]))

입력

[1,1,2,2,2,3,4,4,4,4]

출력

true