2023-11-20每日一题
一、题目编号
53. 最大子数组和
二、题目链接
点击跳转到题目位置
三、题目描述
给你一个整数数组 nums ,请你找出一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和。
子数组 是数组中的一个连续部分。
示例 1:
示例 2:
示例 3:
提示:
- 1 <= nums.length <= 105
- -104 <= nums[i] <= 104
四、解题代码
class Solution {
public:
int maxSubArray(vector<int>& nums) {
int dp[100010];
memset(dp,0,sizeof(dp));
int max0 = nums[0];
dp[0] = nums[0];
for(int i = 1; i < nums.size(); ++i){
dp[i] = max(nums[i],dp[i-1] + nums[i]);
if(dp[i] > max0){
max0 = dp[i];
}
}
return max0;
}
};
五、解题思路
(1) 动态规划。