Python 中尋找陣列中兩個唯一元素最大乘積的程式


假設我們有一個名為 nums 的數字列表,我們需要找到兩個唯一元素的最大乘積。

因此,如果輸入類似於 nums = [8, -3, 1, -5],則輸出將是 15,(-3)*(-5) = 15,這是此處的最大值。

要解決此問題,我們將遵循以下步驟 −

  • n := nums 的大小

  • nums_sort := 對列表 nums 進行排序

  • max_left := nums_sort[0] * nums_sort[1]

  • max_right := nums_sort[n-1] * nums_sort[n-2]

  • ans := max_left 和 max_right 的最大值

  • 返回 ans

示例

讓我們看看以下實現以更好地理解

def solve(nums):
   nums_sort = sorted(nums)
   max_left = nums_sort[0] * nums_sort[1]
   max_right = nums_sort[-1] * nums_sort[-2]

   ans = max(max_left, max_right)
   return ans

nums = [8, -3, 1, -5]
print(solve(nums))

輸入

[8, -3, 1, -5]

輸出

15

更新於: 2021 年 10 月 12 日

987 次瀏覽

開啟您的職業生涯

完成課程,獲得認證

開始
廣告