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) 动态规划。