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

파이썬에서 합이 k와 같거나 같지 않은 네 개의 요소를 찾을 수 있는지 확인하는 프로그램

<시간/>

nums라고 하는 숫자 목록과 값 k가 있다고 가정하면 목록에 k가 되는 4개의 고유 요소가 있는지 확인해야 합니다.

따라서 입력이 nums =[11, 4, 6, 10, 5, 1] ​​k =25와 같으면 합이 25인 [4, 6, 10, 5]가 있으므로 출력은 True가 됩니다.

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

  • 목록 번호 정렬

  • n :=숫자 크기

  • 0 ~ n − 4 범위의 i에 대해 다음을 수행합니다.

    • i + 1 ~ n − 3 범위의 j에 대해 다음을 수행합니다.

      • l :=j + 1, h :=숫자 크기 − 1

        • 동안 l

          • 합계 :=숫자[i] + 숫자[j] + 숫자[l] + 숫자[h]

          • 합계가 k와 같으면

            • 참을 반환

          • 그렇지 않으면 sum

            • l :=l + 1

          • 그렇지 않으면

            • h :=h − 1

  • 거짓을 반환

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

예시

class 솔루션:def solve(self, nums, k):nums.sort() n =len(nums) for i in range(n - 3):for j in range(i + 1, n - 2) :l, h =j + 1, len(nums) - 1 동안 l  

입력

[11, 4, 6, 10, 5, 1], 25

출력

사실