Python查詢三個唯一項最大乘積的程式


假設我們有一個數字列表,稱為nums,我們必須找到三個唯一元素的最大乘積。

因此,如果輸入類似於nums = [6, 1, 2, 4, -3, -4],則輸出為72,因為我們可以將(- 3) *(-4) * 6 = 72相乘。

為解決這個問題,我們將按照以下步驟執行操作 −

  • 對列表nums進行排序

  • n := nums的大小

  • maxScore := -inf

  • maxScore := maxScore和(nums[0] * nums[1] * nums[n - 1])的最大值

  • maxScore := maxScore和(nums[n - 3] * nums[n - 2] * nums[n - 1])的最大值

  • 返回maxScore

示例

讓我們來看看以下實現,以更好地理解這一點

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

nums = [6, 1, 2, 4, -3, -4]
print(solve(nums))

輸入

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

輸出

72

更新於: 12-Oct-2021

305瀏覽次數

開啟您的 職業生涯

完成課程獲得認證

開始
廣告
© . All rights reserved.