题解 | #牛群能量的最大连续和#
牛群能量的最大连续和
https://www.nowcoder.com/practice/6ce78bf3ec2040b5a35d123c690bb67a?tpId=363&tqId=10607043&ru=/exam/oj&qru=/ta/super-company23Year/question-ranking&sourceUrl=%2Fexam%2Foj%3Fpage%3D1%26tab%3D%25E7%25AE%2597%25E6%25B3%2595%25E7%25AF%2587%26topicId%3D363
import java.util.*; public class Solution { /** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * * @param energy int整型一维数组 * @return int整型 */ public int maxEnergySum (int[] energy) { int tempMax = energy[0]; int maxSum = energy[0]; for (int i = 1; i < energy.length; i++) { tempMax = Math.max(energy[i],energy[i]+tempMax); maxSum = Math.max(tempMax,maxSum); } return maxSum; } }
本题知识点分析:
1.动态规划
2.API函数(Math.max)
3.数学模拟
本题解题思路分析:
1.利用动态规划
2.先初始化tempMax和maxSum为第一个数,第一个Math.max用于判断是否为正数
3.第二个Math.max用来判断连续的数字和是否为最大,因为可能有负数会中断。