题解 | 最大乘积

最大乘积

https://www.nowcoder.com/practice/5f29c72b1ae14d92b9c3fa03a037ac5f

import java.util.Scanner;
import java.lang.Integer;
import java.util.ArrayList;
// 注意类名必须为 Main, 不要有任何 package xxx 信息
public class Main {
    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        int length=in.nextInt();
        //消耗换行符
        in.nextLine();
        long max1=Long.MIN_VALUE;
        long max2=Long.MIN_VALUE;
        long max3=Long.MIN_VALUE;
        long min2=Long.MAX_VALUE;
        long min1=Long.MAX_VALUE;
        int[] arr=new int[length];
        // 注意 hasNext 和 hasNextLine 的区别
       for(int i=0;i<length;i++){
            long a=in.nextLong();
            //更新最大值
            if(a>max1){
                long temp=max1;
                long temp2=max2;
                max1=a;
                max2=temp;
                max3=temp2;
            }else if(a>max2){
                long temp=max2;
                max2=a;
                max3=temp;
            }else if(a>max3){
                max3=a;
            }
            //更新最小值
            if(a<min1){
                long temp=min1;
                min1=a;
                min2=temp;
            }else if(a<min2){
                min2=a;
            }

       }
       long r1=max1*max2*max3;
       long r2=max1*min1*min2;
       System.out.println(Math.max(r1,r2));
       

    }
   
}

全部评论

相关推荐

01-26 19:51
门头沟学院 Java
isabener:怎么感觉像群发的呢
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务