LeetCode 53. 最大子数组和

题目描述

53. 最大子数组和

image-20230305160814847

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 的子数组 中等 前缀和
本文作者:
本文链接: https://hgnulb.github.io/blog/2026/31655177
版权声明: 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议,转载请注明出处!