숫자 목록이 있다고 가정합니다. 목록에 중복 요소가 있는지 여부를 확인해야 합니다. 따라서 목록이 [1,5,6,2,1,3]과 같으면 1이 두 개 있으므로 1을 반환하지만 목록이 [1,2,3,4]이면 다음과 같이 됩니다. 중복이 없으므로 false입니다.
이 문제를 해결하기 위해 우리는 이 접근 방식을 따를 것입니다 -
세트 데이터 구조는 고유한 데이터만 보유한다는 것을 알고 있습니다. 그러나 목록은 중복된 내용을 접을 수 있습니다. 따라서 리스트를 집합으로 변환하면 중복된 요소가 있으면 크기가 줄어들고 길이를 일치시키면 이 문제를 해결할 수 있습니다.
예
더 나은 이해를 위해 다음 구현을 살펴보겠습니다. −
class Solution(object): def containsDuplicate(self, nums): """ :type nums: List[int] :rtype: bool """ return not len(nums) == len(set(nums)) ob1 = Solution() print(ob1.containsDuplicate([1,5,6,2,1,3])) print(ob1.containsDuplicate([1,2,3,4]))
입력
nums = [1,5,6,2,1,3] nums = [1,2,3,4]
출력
True False