题解 | #统计作答次数#

子数组最大连续和

http://www.nowcoder.com/practice/1718131e719746e9a56fb29c40cc8f95

最大子序列,注意类型转换。

public class Main{
    public static void main(String[] args){
        Scanner in=new Scanner(System.in);
        long n=Long.parseLong(in.nextLine());
        String[] arrstr = in.nextLine().split(" ");
        long[] arr=new long[arrstr.length];
        for(int i=0;i<arrstr.length;i++){
            arr[i]=Long.parseLong(arrstr[i]);
        }
        long run=run(arr.length,arr);
        System.out.print(run);
    }
    public static long run(int n,long[] arr){
        if(arr==null||arr.length==0){
            return -1;
        }
        long cur=arr[0];//前下标
        long res=arr[0];//当前总和
        for(int i=1;i<n;i++){
            cur=Math.max(arr[i],cur+arr[i]);
            res=Math.max(cur,res);
        }
        return res;
    }
}
全部评论

相关推荐

1 收藏 评论
分享
牛客网
牛客企业服务