LeetCode 53. 最大子数组和
题目描述
class Solution {
public int maxSubArray(int[] nums) {
int cur = nums[0];
int res = nums[0];
for (int i = 1; i < nums.length; i++) {
// 若前缀和为负则从当前位置重新开始
cur = Math.max(nums[i], cur + nums[i]);
res = Math.max(res, cur);
}
return res;
}
}
func maxSubArray(nums []int) int {
cur := nums[0]
res := nums[0]
for i := 1; i < len(nums); i++ {
// 若前缀和为负则从当前位置重新开始
if cur < 0 {
cur = nums[i]
} else {
cur += nums[i]
}
if cur > res {
res = cur
}
}
return res
}
相似题目
| 题目 | 难度 | 考察点 |
|---|---|---|
| 121. 买卖股票的最佳时机 | 简单 | 动态规划 |
| 152. 乘积最大子数组 | 中等 | 动态规划 |
| 697. 数组的度 | 简单 | 哈希表 |
| 978. 最长湍流子数组 | 中等 | 动态规划、滑动窗口 |
| 1746. 经过一次操作后的最大子数组和 | 中等 | 动态规划 |
| 1749. 任意子数组和的绝对值的最大值 | 中等 | 动态规划 |
| 2272. 最大波动的子字符串 | 困难 | 动态规划 |
| 2302. 统计得分小于 K 的子数组数目 | 困难 | 滑动窗口 |
| 2321. 拼接数组的最大分数 | 困难 | 动态规划 |
| 2496. 数组中字符串的最大值 | 简单 | 字符串处理 |
| 2600. K 件物品的最大和 | 简单 | 贪心 |
| 2606. 找到最大开销的子字符串 | 中等 | 动态规划 |
| 2609. 最长平衡子字符串 | 简单 | 字符串 |
| 3026. 最大好子数组和 | 中等 | 哈希表、动态规划 |
| 3318. 计算子数组的 x 值 II | 困难 | 动态规划 |
| 3410. 删除所有值为某个元素后的子数组最大和 | 困难 | 动态规划 |
| 918. 环形子数组的最大和 | 中等 | 动态规划 |
| 560. 和为 K 的子数组 | 中等 | 前缀和 |
本博客所有文章除特别声明外,均采用
CC BY-NC-SA 4.0
许可协议,转载请注明出处!
