标签:code 最小 etc 长度 leetcode color 规模 数组 注意
给定一个整型数组,在数组中找出由三个数组成的最大乘积,并输出这个乘积。
示例 1:
输入: [1,2,3] 输出: 6
示例 2:
输入: [1,2,3,4] 输出: 24
注意:
仔细审题,我们发现,数组中元素的可以是负数,这也就说明,不一定是排序后的后三位数字是最大乘积。
那答案可能是两种情况:第一种:最后三位数字;第二种:最小的两个负数和最后一位正数。
这样一分析,我们就理清了!
NOTE:做题过程中最重要的一个环节是对解的规模进行预估,如果是微小常数级别的,最好要把每一种情况搞清楚!
class Solution { public int maximumProduct(int[] nums) { int len = nums.length; Arrays.sort(nums); int val1 = nums[0]*nums[1]*nums[len-1]; int val2 = nums[len-1]*nums[len-2]*nums[len-3]; return Math.max(val1,val2); } }
标签:code 最小 etc 长度 leetcode color 规模 数组 注意
原文地址:https://www.cnblogs.com/MrSaver/p/9557646.html