网站建设和网站搭建哪个好,网站站制做,临沂网站建设举措,北京工程建设质量协会网站一:题目 二:上码 class Solution {
public:int maxSubArray(vectorint nums) {/**动态规划:1:确定dp数组的含义以及下标的含义dp[j]表示的是下标j之前的最大子数组和 这个就是还没有包括nums[j] 2:确定dp数组的状态转移公式dp[j] max (dp[j-1]nums[j],n…一:题目 二:上码 class Solution {
public:int maxSubArray(vectorint nums) {/**动态规划:1:确定dp数组的含义以及下标的含义dp[j]表示的是下标j之前的最大子数组和 这个就是还没有包括nums[j] 2:确定dp数组的状态转移公式dp[j] max (dp[j-1]nums[j],nums[j]);//dp[j-1] nums[j]:表示的是累加的和//nums[j]:从头开始计算累加和 可能前面累加值小于03:确定dp数组的初始化dp[0] nums[0];因为dp[j] 可能要依赖 dp[j-1]4:确定dp数组的遍历顺序从前向后if(dp[j] max) max dp[j] //计算我们的最大值 也可以最后遍历整个dp数组进行求解5:举例验证nums [5,4,-1,7,8]5 4 -1 7 8dp: 5 9 8 15 23 */vectorint dp(nums.size(),0);int maxx nums[0];//当剩下一个数的时候是可以解出来的dp[0] nums[0];for (int i 1; i nums.size(); i) {dp[i] max(dp[i-1]nums[i],nums[i]);if(dp[i] maxx) maxx dp[i];}return maxx;}
};