题目考察的知识点

主要是对于题目的理解

题目解答方法的文字分析

要求最长序列和,那么就用累加的方式,顺序遍历数组元素,每次累加后更新最大值。当这一段序列和小于0的时候就说明要重新开始一段序列的计算了,这个时候将变量sum置为0重新计算即可。

本题解析所用的编程语言

使用Java完成

完整且正确的编程代码

import java.util.*;


public class Solution {
    /**
     * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
     *
     * 
     * @param energy int整型一维数组 
     * @return int整型
     */
    public int maxEnergy (int[] energy) {
        // write code here
        int maxNum = Integer.MIN_VALUE, sum = 0; //sum表示正在遍历的连续序列的累加和
        for(int i=0; i<energy.length; i++){
            sum += energy[i];
            maxNum = Math.max(maxNum,sum);
            if(sum<0) sum=0;
        }
        return maxNum;
    }
}