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]
Learn Python in-depth with real-world projects through our Python certification course. Enroll and become a certified expert to boost your career.
输出
72
广告