题解 | #连续子数组的最大乘积#

连续子数组的最大乘积

http://www.nowcoder.com/practice/fd8c819c07c9493887bfac8549c119f4

和上一个连续最大和还是有些区别的哇

import java.util.*;
public class Main {
    public static void main(String[] args){
        Scanner sc = new Scanner(System.in);
        int lg = sc.nextInt();
        if(lg==1){
            System.out.print(sc.nextInt());
            return ;
        }
        //存储大于0的
        int a=1,b=1;
        //存储小于0的
        int a1=1,b1=1;
        int max=-101;
        for(int i=1;i<=lg;i++){
            int temp = sc.nextInt();
            if(temp<0){
                 a =Math.max(temp,b1*temp);
                 a1 =  Math.min(temp,b*temp);
                 b=a;
                 b1=a1;
            }else{
                 a = Math.max(temp,b*temp);
                 a1 =  Math.min(temp,b1*temp);
                 b=a;
                 b1=a1;
            }
            max = max>a?max:a;
        }
         System.out.print(max);
    }
}
全部评论

相关推荐

不愿透露姓名的神秘牛友
07-02 18:35
简历上把1个月实习写成了3个月,会进行背调吗?
码农索隆:一个月有一个月的实习经历,三个月有三个月的实习经历
简历当中有水分算不算造假...
点赞 评论 收藏
分享
程序员小白条:你是沟通了900个,不是投了900份简历,你能投900份,意味着对面都要回复你900次,你早就找到实习了,没亮点就是这样的,别局限地区,时间投的也要早,现在都要7月了
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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