动态规划——53. 最大子序和
动态规划——53. 最大子序和
题目:

思路:
-
dp数组的定义:dp[n] 代表在nums[n]时的最大子序和。 -
base_case:dp[0] = nums[0] -
状态转移方程:dp[i] = max(nums[i], dp[i-1]+nums[i])设置一个res存储最大自序和。
代码:
class Solution {
public:
int maxSubArray(vector<int>& nums) {
int n = nums.size();
int dp[n];
dp[0] = nums[0];
int result = dp[0];
for (int i=1; i<n;i++){
dp[i] = max(dp[i-1]+nums[i],nums[i]);
result = max(result, dp[i]);
}
return result;
}
};
Rank:


浙公网安备 33010602011771号