首页 > 试题广场 >

三个数的最大乘积

[编程题]三个数的最大乘积
  • 热度指数:26380 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 256M,其他语言512M
  • 算法知识视频讲解
给定一个长度为 的无序数组 ,包含正数、负数和 0 ,请从中找出 3 个数,使得乘积最大,返回这个乘积。

要求时间复杂度: ,空间复杂度:

数据范围:


示例1

输入

[3,4,1,2]

输出

24
package main

import "sort"

/**
 * 最大乘积
 * @param A int整型一维数组 
 * @return long长整型
*/
func solve( A []int ) int64 {
    sort.Ints(A)
    n:=len(A)
    a,b:=A[0]*A[1]*A[n-1],A[n-1]*A[n-2]*A[n-3]
    if a>b{
        return int64(a)
    }
    return int64(b)
}

发表于 2023-03-07 08:29:24 回复(0)

问题信息

上传者:牛客332641号
难度:
1条回答 4850浏览

热门推荐

通过挑战的用户

查看代码