题解 | #牛群的能量#
牛群的能量
https://www.nowcoder.com/practice/00f87ddcd18842d0824d487fd70a730e
知识点
贪心算法
解题思路
用一个pre记录当前最大值,遍历数组,累加pre,但当pre小于0之后必然只会使后面的数减小,因此此时设置pre为0。
每次循环都让ans取ans和pre的最大值,在最后ans就为答案。
Java题解
import java.util.*;
public class Solution {
/**
* 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
*
*
* @param energy int整型一维数组
* @return int整型
*/
public int maxEnergy (int[] energy) {
// write code here
int n = energy.length;
int ans = Integer.MIN_VALUE, pre = 0;
for (int num : energy){
pre = pre + num;
ans = Math.max(ans,pre);
if(pre < 0) {
pre = 0;
}
}
return ans;
}
}
查看7道真题和解析