gpt4 book ai didi

python - 在 python 中使用列表中的 3 个元素找到可形成的最大乘积?

转载 作者:行者123 更新时间:2023-12-01 06:30:52 25 4
gpt4 key购买 nike

我已经尝试过这个问题并编写了代码。谁能告诉我我的代码是否涵盖所有情况以及是否有更好的方法。

这是我的代码

a = [-12, -4, 6, 3]
a.sort()


if a[0]*a[1] > a[-1]*a[-2]:
res = a[0]*a[1]*a[-1]
else:
res = a[-1]*a[-2]*a[-3]

print(res)

最佳答案

这可以在 O(nlogn) 时间和 O(1) 空间内非常有效地完成。首先,对列表进行排序。然后返回列表最后三个元素的乘积与前两个元素和最后一个元素的乘积的最大值。

def prod (lis):
lis.sort()
return max(lis[0] * lis[1] * lis[-1], lis[-1] * lis[-2] * lis[-3])

关于python - 在 python 中使用列表中的 3 个元素找到可形成的最大乘积?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59920002/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com