题解 | #牛群的能量#
牛群的能量
https://www.nowcoder.com/practice/00f87ddcd18842d0824d487fd70a730e
知识点:动态规划
思路:
- 首先,定义一个名为
maxEnergy的静态方法,该方法接受一个整数数组作为参数,并返回一个整数。 - 在方法的内部,初始化两个变量
cur和res,分别用于保存当前累积能量值和最大能量值。将res的初始值设置为Integer.MIN_VALUE,确保它可以被任何能量值更新。 - 使用
for循环遍历数组中的每个元素。 - 在循环中,将当前元素的值添加到
cur中,以计算累积能量。 - 使用
Math.max函数将cur和res中的较大值更新到res中,以保持最大能量值。 - 如果
cur变为负数,则将cur重置为0,因为负值对于最大能量值没有任何贡献。 - 循环结束后,返回
res作为最大能量值。 - 在
main方法中,创建一个示例用法,将一个能量数组作为参数传递给maxEnergy方法,并打印出最大能量值。
编程语言:java
import java.util.*;
public class Solution {
/**
* 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
*
*
* @param energy int整型一维数组
* @return int整型
*/
public static int maxEnergy(int[] energy) {
int n = energy.length;
int cur = 0, res = Integer.MIN_VALUE;
for (int i = 0; i < n; i++) {
cur += energy[i];
res = Math.max(res, cur);
if (cur < 0) cur = 0;
}
return res;
}
}
