题目描述
实现一个算法在数组中找到 3 个数字的最大乘积。介绍如下:
例如数组 [5, -2, 3, 1, -1, 4] 中 3 个数字的最大乘积为 60。
输入描述
第一行为数字 N (3≤N≤1000),表示数组元素的个数。
第二行为数组元素 Ai,−1000≤Ai≤1000。
输出描述
输出一行,为 3 个数字的最大乘积。
输入输出样例
示例
输入
6
5 -2 3 1 -1 4
输出
60
运行限制
最大运行时间:1s
最大运行内存: 256M
代码:
public class 寻找3个数的最大成绩 {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int n = scanner.nextInt();
int[] a = new int[n];
for (int i = 0; i < a.length; i++) {
a[i] = scanner.nextInt();
}
Arrays.sort(a);
long res = a[n-1] * a[n-2] * a[n-3];
res = Math.max(res, a[0] * a[1] * a[n-1]);
System.out.println(res);
}
}