题解 | #最大乘积#

最大乘积

http://www.nowcoder.com/practice/5f29c72b1ae14d92b9c3fa03a037ac5f

对数组进行排序;

  1. 若均为正数或均为负数或负数个数<2,则最大值应为 data[-1] * data[-2] * data[-3]
  2. 若负数数量为2 则最大值可能为 data[0] * data[1] * data[-1] 最大值为二者之一
import sys
n = int(sys.stdin.readline().strip())
if n < 3:
    print(0)
    exit()
data = list(map(int, sys.stdin.readline().strip().split()))
data.sort()
print(max(data[-1] * data[-2] * data[-3], data[-1]*data[0]*data[1]))
全部评论
空间复杂度要求O(1),你这个铁定不符合
1 回复 分享
发布于 2022-03-29 08:28

相关推荐

Lorn的意义:你这种岗位在中国现在要么牛马天天加班,要么关系户进去好吃好喝,8年时间,真的天翻地覆了,对于资本来说你就说一头体力更好的牛马,哎,退伍没有包分配你真的亏了。
点赞 评论 收藏
分享
评论
8
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务