在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