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

Python에서 세 가지 고유 항목 중 가장 큰 제품을 찾는 프로그램

<시간/>

num이라는 숫자 목록이 있다고 가정하고 세 가지 고유 요소의 가장 큰 곱을 찾아야 합니다.

따라서 입력이 nums =[6, 1, 2, 4, -3, -4]와 같으면 (- 3) * (-4) * 6 =72를 곱할 수 있으므로 출력은 72가 됩니다.

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

  • 목록 번호 정렬

  • n :=숫자 크기

  • maxScore :=-inf

  • maxScore :=maxScore의 최대값 및 (nums[0] * nums[1] * nums[n - 1])

  • maxScore :=maxScore의 최대값 및 (nums[n - 3] * nums[n - 2] * nums[n - 1])

  • 최대 점수 반환

예시

더 나은 이해를 위해 다음 구현을 살펴보겠습니다.

def solve(nums):nums.sort() n =len(nums) maxScore =-10000 maxScore =max(maxScore, nums[0] * nums[1] * nums[n - 1]) maxScore =최대 (maxScore, nums[n - 3] * nums[n - 2] * nums[n - 1]) return maxScorenums =[6, 1, 2, 4, -3, -4]print(solve(nums)) 

입력

[6, 1, 2, 4, -3, -4]

출력

72