题解 | #牛群的能量#

牛群的能量

https://www.nowcoder.com/practice/00f87ddcd18842d0824d487fd70a730e

知识点:动态规划

思路:

  1. 首先,定义一个名为maxEnergy的静态方法,该方法接受一个整数数组作为参数,并返回一个整数。
  2. 在方法的内部,初始化两个变量curres,分别用于保存当前累积能量值和最大能量值。将res的初始值设置为Integer.MIN_VALUE,确保它可以被任何能量值更新。
  3. 使用for循环遍历数组中的每个元素。
  4. 在循环中,将当前元素的值添加到cur中,以计算累积能量。
  5. 使用Math.max函数将curres中的较大值更新到res中,以保持最大能量值。
  6. 如果cur变为负数,则将cur重置为0,因为负值对于最大能量值没有任何贡献。
  7. 循环结束后,返回res作为最大能量值。
  8. 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;
    }
}

全部评论

相关推荐

投递大华股份等公司10个岗位
点赞 评论 收藏
分享
点赞 收藏 评论
分享
牛客网
牛客企业服务