美文网首页【python公司校招题】
【python拼多多】最大乘积?

【python拼多多】最大乘积?

作者: 阿牛02 | 来源:发表于2019-08-11 16:10 被阅读0次

    题目:给定一个无序数组,包含正数、负数和0,要求从中找出3个数的乘积,使得乘积最大,要求时间复杂度:O(n),空间复杂度:O(1)

    输入描述:

    第一行是数组大小n,第二行是无序整数数组A[n]

    输出描述:

    满足条件的最大乘积

    示例1

    输入

    4

    3 4 1 2

    输出

    24

    code:

    # 思路 两种情况,一是两个最小负数加一个最大正数,二是三个最大正数

    n = input()

    Alist = list(map(int, input().split()))

    Alist.sort()

    res1 = Alist[-1]*Alist[-2]*Alist[-3]

    res2 = Alist[0]*Alist[1]*Alist[-1]

    print(max(res1, res2))

    相关文章

      网友评论

        本文标题:【python拼多多】最大乘积?

        本文链接:https://www.haomeiwen.com/subject/xdrsjctx.html