跳到主要内容

经典题目

三个数中最大乘积

整形数组 nums ,在数组中找出由三个数字组成的最大乘积,并输出这个乘积。(乘积不会越界)

:::details 点击查看代码

 function largestProduct(nums){
let [min1,min2,max1,max2,max3]=[Infinity,Infinity,-Infinity,-Infinity,-Infinity];
for(let i=0;i<nums.length;i++){
let x=nums[i];
if(x<min1){
minx2=min1;
min1=x;
}else if(x<min2){
min2=x;
}
if(x>max1){
max3=max2;
max2=max1;
max1=x;
}else if(x>max2){
max3=max2;
max2=x;
}else if(x>max3){
max3=x;
}
}
return Math.max(min1*min2*max1,max1*max2*max3)
}
const array=[-3,1,2,-4,5,6];
console.log(largestProduct(array));

:::