From a947686e17eb56e3d5654dab618fc72b55fe8832 Mon Sep 17 00:00:00 2001 From: CyC2018 Date: Fri, 30 Oct 2026 20:18:03 +0800 Subject: [PATCH] =?UTF-8?q?Update=2042.=20=E8=BF=9E=E7=BB=AD=E5=AD=90?= =?UTF-8?q?=E6=95=B0=E7=BB=84=E7=9A=84=E6=9C=80=E5=A4=A7=E5=92=8C.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 补充连续子数组最大和的解题思路说明,并补充具体数值的状态推导示例。 --- notes/42. 连续子数组的最大和.md | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/notes/42. 连续子数组的最大和.md b/notes/42. 连续子数组的最大和.md index fc5787b3..2c86c440 100644 --- a/notes/42. 连续子数组的最大和.md +++ b/notes/42. 连续子数组的最大和.md @@ -8,6 +8,14 @@ ## 解题思路 +sum 表示以当前元素结尾的连续子数组的最大和。前面的 sum 小于等于 0 时,接上它只会让和变小,不如从当前元素重新开始;否则把当前元素接在后面。所有位置的 sum 中最大的就是答案,时间复杂度 O(N),空间复杂度 O(1)。 + +```text +val 6 -3 -2 7 -15 1 2 2 +sum 6 3 1 8 -7 1 3 5 +greatestSum 6 6 6 8 8 8 8 8 +``` + ```java public int maxSales(int[] sales) { if (sales == null || sales.length == 0)