배열이 있다고 가정합니다. 각 요소에 고유한 발생 횟수가 있는지 확인해야 합니다. 그러한 요소가 없으면 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