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

示例

让我们来看看以下实现,以更好地理解这一点

Open Compiler
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]

Learn Python in-depth with real-world projects through our Python certification course. Enroll and become a certified expert to boost your career.

输出

72

更新于: 12-Oct-2021

305浏览次数

开启您的 职业生涯

完成课程获得认证

开始
广告