길이가 n + 1인 숫자라는 숫자 목록이 있다고 가정합니다. 이 숫자는 1, 2, ..., n 범위에서 선택됩니다. 알다시피, 비둘기집 원리를 사용하면 중복이 있어야 합니다. 그것을 찾아서 돌려줘야 합니다.
따라서 입력이 [2, 1, 4, 3, 3]과 같으면 출력은 3
이 됩니다.이 문제를 해결하기 위해 다음 단계를 따릅니다. −
- l :=숫자 크기
- 온도 :=l*(l-1) /2
- temp_sum :=nums의 모든 요소 합계
- 반환(temp_sum - temp)
이해를 돕기 위해 다음 구현을 살펴보겠습니다. −
예
class Solution: def solve(self, nums): l = len(nums) temp = l*(l-1)/2 temp_sum = sum(nums) return temp_sum-temp ob = Solution() print(ob.solve([2, 1, 4, 3, 3]))
입력
[2, 1, 4, 3, 3]
출력
3