From aea8bee9543fd699068fd413167a682d6dd967a8 Mon Sep 17 00:00:00 2001 From: Logen <47022821+Logenleedev@users.noreply.github.com> Date: Mon, 6 Mar 2023 19:50:04 -0600 Subject: [PATCH 1/6] =?UTF-8?q?=E5=88=A0=E9=99=A4typo?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- problems/0494.目标和.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/problems/0494.目标和.md b/problems/0494.目标和.md index eec4183d..2e3f4fee 100644 --- a/problems/0494.目标和.md +++ b/problems/0494.目标和.md @@ -162,7 +162,7 @@ dp[j] 表示:填满j(包括j)这么大容积的包,有dp[j]种方法 有哪些来源可以推出dp[j]呢? -只要搞到nums[i]),凑成dp[j]就有dp[j - nums[i]] 种方法。 +只要搞到nums[i],凑成dp[j]就有dp[j - nums[i]] 种方法。 例如:dp[j],j 为5, From 98e05c38c16b362f6fae6d446dff8e7c828e3a90 Mon Sep 17 00:00:00 2001 From: Yuhao Ju Date: Sun, 12 Mar 2023 11:25:46 +0800 Subject: [PATCH 2/6] =?UTF-8?q?update=200203.=E7=A7=BB=E9=99=A4=E9=93=BE?= =?UTF-8?q?=E8=A1=A8=E5=85=83=E7=B4=A0:=20=E6=B7=BB=E5=8A=A0=E5=A4=8D?= =?UTF-8?q?=E6=9D=82=E5=BA=A6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- problems/0203.移除链表元素.md | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/problems/0203.移除链表元素.md b/problems/0203.移除链表元素.md index 99bd3580..7e3955a5 100644 --- a/problems/0203.移除链表元素.md +++ b/problems/0203.移除链表元素.md @@ -118,6 +118,9 @@ public: }; ``` +* 时间复杂度: O(n) +* 空间复杂度: O(1) + **设置一个虚拟头结点在进行移除节点操作:** ```CPP @@ -144,6 +147,9 @@ public: ``` +* 时间复杂度: O(n) +* 空间复杂度: O(1) + From 9321c3c6773f4cd244d86d5f8052042c30ba5be0 Mon Sep 17 00:00:00 2001 From: Yuhao Ju Date: Sun, 12 Mar 2023 11:34:01 +0800 Subject: [PATCH 3/6] =?UTF-8?q?update=200707.=E8=AE=BE=E8=AE=A1=E9=93=BE?= =?UTF-8?q?=E8=A1=A8=EF=BC=9A=E6=B7=BB=E5=8A=A0=E5=A4=8D=E6=9D=82=E5=BA=A6?= =?UTF-8?q?=E5=88=86=E6=9E=90?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- problems/0707.设计链表.md | 3 +++ 1 file changed, 3 insertions(+) diff --git a/problems/0707.设计链表.md b/problems/0707.设计链表.md index 95560fb1..f6f16e30 100644 --- a/problems/0707.设计链表.md +++ b/problems/0707.设计链表.md @@ -152,6 +152,9 @@ private: }; ``` +* 时间复杂度: 涉及 `index` 的相关操作为 O(index), 其余为 O(1) +* 空间复杂度: O(n) + ## 其他语言版本 From 2d7a9a16c513f8e49ed9cd51d7a54743588ec722 Mon Sep 17 00:00:00 2001 From: Yuhao Ju Date: Sun, 12 Mar 2023 11:38:20 +0800 Subject: [PATCH 4/6] =?UTF-8?q?update=200206.=E7=BF=BB=E8=BD=AC=E9=93=BE?= =?UTF-8?q?=E8=A1=A8=EF=BC=9A=E6=B7=BB=E5=8A=A0=E5=A4=8D=E6=9D=82=E5=BA=A6?= =?UTF-8?q?=E5=88=86=E6=9E=90?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- problems/0206.翻转链表.md | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/problems/0206.翻转链表.md b/problems/0206.翻转链表.md index 8bf61c3f..d558e783 100644 --- a/problems/0206.翻转链表.md +++ b/problems/0206.翻转链表.md @@ -68,6 +68,9 @@ public: }; ``` +* 时间复杂度: O(n) +* 空间复杂度: O(1) + ## 递归法 递归法相对抽象一些,但是其实和双指针法是一样的逻辑,同样是当cur为空的时候循环结束,不断将cur指向pre的过程。 @@ -97,6 +100,9 @@ public: }; ``` +* 时间复杂度: O(n), 要递归处理链表的每个节点 +* 空间复杂度: O(n), 递归调用了 n 层栈空间 + 我们可以发现,上面的递归写法和双指针法实质上都是从前往后翻转指针指向,其实还有另外一种与双指针法不同思路的递归写法:从后往前翻转指针指向。 具体代码如下(带详细注释): @@ -120,6 +126,9 @@ public: }; ``` +* 时间复杂度: O(n) +* 空间复杂度: O(n) + ## 其他语言版本 From 358818c7a499809056fee400f460cc80b0c20ceb Mon Sep 17 00:00:00 2001 From: Yuhao Ju Date: Sun, 12 Mar 2023 11:41:09 +0800 Subject: [PATCH 5/6] =?UTF-8?q?update=200019.=E5=88=A0=E9=99=A4=E9=93=BE?= =?UTF-8?q?=E8=A1=A8=E7=9A=84=E5=80=92=E6=95=B0=E7=AC=ACN=E4=B8=AA?= =?UTF-8?q?=E8=8A=82=E7=82=B9=EF=BC=9A=E6=B7=BB=E5=8A=A0=E5=A4=8D=E6=9D=82?= =?UTF-8?q?=E5=BA=A6=E5=88=86=E6=9E=90?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- problems/0019.删除链表的倒数第N个节点.md | 3 +++ 1 file changed, 3 insertions(+) diff --git a/problems/0019.删除链表的倒数第N个节点.md b/problems/0019.删除链表的倒数第N个节点.md index c408fefc..a11ff8ba 100644 --- a/problems/0019.删除链表的倒数第N个节点.md +++ b/problems/0019.删除链表的倒数第N个节点.md @@ -87,6 +87,9 @@ public: }; ``` +* 时间复杂度: O(n) +* 空间复杂度: O(1) + ## 其他语言版本 From 3aabfed8bd708b8524cab5eac65b3358eeceb9bf Mon Sep 17 00:00:00 2001 From: Yuhao Ju Date: Sun, 12 Mar 2023 11:46:51 +0800 Subject: [PATCH 6/6] =?UTF-8?q?update=200142.=E7=8E=AF=E5=BD=A2=E9=93=BE?= =?UTF-8?q?=E8=A1=A8II=EF=BC=9A=E6=B7=BB=E5=8A=A0=E5=A4=8D=E6=9D=82?= =?UTF-8?q?=E5=BA=A6=E5=88=86=E6=9E=90?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- problems/0142.环形链表II.md | 3 +++ 1 file changed, 3 insertions(+) diff --git a/problems/0142.环形链表II.md b/problems/0142.环形链表II.md index 8a48c7d5..46df4777 100644 --- a/problems/0142.环形链表II.md +++ b/problems/0142.环形链表II.md @@ -145,6 +145,9 @@ public: }; ``` +* 时间复杂度: O(n),快慢指针相遇前,指针走的次数小于链表长度,快慢指针相遇后,两个index指针走的次数也小于链表长度,总体为走的次数小于 2n +* 空间复杂度: O(1) + ## 补充 在推理过程中,大家可能有一个疑问就是:**为什么第一次在环中相遇,slow的 步数 是 x+y 而不是 x + 若干环的长度 + y 呢?**