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.