From 6596885f1e59070540f10e4748bd4a8f0a50b37c Mon Sep 17 00:00:00 2001 From: ITCharge Date: Mon, 15 Jan 2024 20:11:08 +0800 Subject: [PATCH] =?UTF-8?q?=E6=9B=B4=E6=96=B0=E9=A2=98=E8=A7=A3=E5=88=97?= =?UTF-8?q?=E8=A1=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...00\351\225\277\345\255\220\344\270\262.md" | 2 +- ...345\244\215\345\205\203\347\264\240 II.md" | 14 ++++++------ ...15\345\244\215\345\205\203\347\264\240.md" | 8 +++---- ...25\350\257\215\346\213\206\345\210\206.md" | 22 +++++++++---------- ...15\346\216\222\351\223\276\350\241\250.md" | 4 ++-- 5 files changed, 25 insertions(+), 25 deletions(-) diff --git "a/Solutions/0003. \346\227\240\351\207\215\345\244\215\345\255\227\347\254\246\347\232\204\346\234\200\351\225\277\345\255\220\344\270\262.md" "b/Solutions/0003. \346\227\240\351\207\215\345\244\215\345\255\227\347\254\246\347\232\204\346\234\200\351\225\277\345\255\220\344\270\262.md" index eba49ead..888ebc90 100644 --- "a/Solutions/0003. \346\227\240\351\207\215\345\244\215\345\255\227\347\254\246\347\232\204\346\234\200\351\225\277\345\255\220\344\270\262.md" +++ "b/Solutions/0003. \346\227\240\351\207\215\345\244\215\345\255\227\347\254\246\347\232\204\346\234\200\351\225\277\345\255\220\344\270\262.md" @@ -16,7 +16,7 @@ **说明**: - $0 \le s.length \le 5 * 10^4$。 -- `s` 由英文字母、数字、符号和空格组成。 +- $s$ 由英文字母、数字、符号和空格组成。 **示例**: diff --git "a/Solutions/0082. \345\210\240\351\231\244\346\216\222\345\272\217\351\223\276\350\241\250\344\270\255\347\232\204\351\207\215\345\244\215\345\205\203\347\264\240 II.md" "b/Solutions/0082. \345\210\240\351\231\244\346\216\222\345\272\217\351\223\276\350\241\250\344\270\255\347\232\204\351\207\215\345\244\215\345\205\203\347\264\240 II.md" index 912d2e22..13d9b780 100644 --- "a/Solutions/0082. \345\210\240\351\231\244\346\216\222\345\272\217\351\223\276\350\241\250\344\270\255\347\232\204\351\207\215\345\244\215\345\205\203\347\264\240 II.md" +++ "b/Solutions/0082. \345\210\240\351\231\244\346\216\222\345\272\217\351\223\276\350\241\250\344\270\255\347\232\204\351\207\215\345\244\215\345\205\203\347\264\240 II.md" @@ -9,7 +9,7 @@ ## 题目大意 -**描述**:给定一个已排序的链表的头 `head`。 +**描述**:给定一个已排序的链表的头 $head$。 **要求**:删除原始链表中所有重复数字的节点,只留下不同的数字。返回已排序的链表。 @@ -34,12 +34,12 @@ 这道题的题意是需要保留所有不同数字,而重复出现的所有数字都要删除。因为给定的链表是升序排列的,所以我们要删除的重复元素在链表中的位置是连续的。所以我们可以对链表进行一次遍历,然后将连续的重复元素从链表中删除即可。具体步骤如下: -- 先使用哑节点 `dummy_head` 构造一个指向 `head` 的指针,使得可以防止从 `head` 开始就是重复元素。 -- 然后使用指针 `cur` 表示链表中当前元素,从 `head` 开始遍历。 -- 当指针 `cur` 的下一个元素和下下一个元素存在时: - - 如果下一个元素值和下下一个元素值相同,则我们使用指针 `temp` 保存下一个元素,并使用 `temp` 向后遍历,跳过所有重复元素,然后令 `cur` 的下一个元素指向 `temp` 的下一个元素,继续向后遍历。 - - 如果下一个元素值和下下一个元素值不同,则令 `cur` 向右移动一位,继续向后遍历。 -- 当指针 `cur` 的下一个元素或者下下一个元素不存在时,说明已经遍历完,则返回哑节点 `dummy_head` 的下一个节点作为头节点。 +- 先使用哑节点 $dummy\underline{}head$ 构造一个指向 $head$ 的指针,使得可以防止从 $head$ 开始就是重复元素。 +- 然后使用指针 $cur$ 表示链表中当前元素,从 $head$ 开始遍历。 +- 当指针 $cur$ 的下一个元素和下下一个元素存在时: + - 如果下一个元素值和下下一个元素值相同,则我们使用指针 $temp$ 保存下一个元素,并使用 $temp$ 向后遍历,跳过所有重复元素,然后令 $cur$ 的下一个元素指向 $temp$ 的下一个元素,继续向后遍历。 + - 如果下一个元素值和下下一个元素值不同,则令 $cur$ 向右移动一位,继续向后遍历。 +- 当指针 $cur$ 的下一个元素或者下下一个元素不存在时,说明已经遍历完,则返回哑节点 $dummy\underline{}head$ 的下一个节点作为头节点。 ### 思路 1:代码 diff --git "a/Solutions/0083. \345\210\240\351\231\244\346\216\222\345\272\217\351\223\276\350\241\250\344\270\255\347\232\204\351\207\215\345\244\215\345\205\203\347\264\240.md" "b/Solutions/0083. \345\210\240\351\231\244\346\216\222\345\272\217\351\223\276\350\241\250\344\270\255\347\232\204\351\207\215\345\244\215\345\205\203\347\264\240.md" index 0d2f52e6..f4f0f90a 100644 --- "a/Solutions/0083. \345\210\240\351\231\244\346\216\222\345\272\217\351\223\276\350\241\250\344\270\255\347\232\204\351\207\215\345\244\215\345\205\203\347\264\240.md" +++ "b/Solutions/0083. \345\210\240\351\231\244\346\216\222\345\272\217\351\223\276\350\241\250\344\270\255\347\232\204\351\207\215\345\244\215\345\205\203\347\264\240.md" @@ -9,7 +9,7 @@ ## 题目大意 -**描述**:给定一个已排序的链表的头 `head`。 +**描述**:给定一个已排序的链表的头 $head$。 **要求**:删除所有重复的元素,使每个元素只出现一次。返回已排序的链表。 @@ -32,11 +32,11 @@ ### 思路 1:遍历 -- 使用指针 `curr` 遍历链表,先将 `head` 保存到 `curr` 指针。 +- 使用指针 $curr$ 遍历链表,先将 $head$ 保存到 $curr$ 指针。 - 判断当前元素的值和当前元素下一个节点元素值是否相等。 - 如果相等,则让当前指针指向当前指针下两个节点。 -- 否则,让 `curr` 继续向后遍历。 -- 遍历完之后返回头节点 `head`。 +- 否则,让 $curr$ 继续向后遍历。 +- 遍历完之后返回头节点 $head$。 ### 思路 1:遍历代码 diff --git "a/Solutions/0139. \345\215\225\350\257\215\346\213\206\345\210\206.md" "b/Solutions/0139. \345\215\225\350\257\215\346\213\206\345\210\206.md" index 5a3604c0..309de356 100644 --- "a/Solutions/0139. \345\215\225\350\257\215\346\213\206\345\210\206.md" +++ "b/Solutions/0139. \345\215\225\350\257\215\346\213\206\345\210\206.md" @@ -9,9 +9,9 @@ ## 题目大意 -**描述**:给定一个非空字符串 `s` 和一个包含非空单词的列表 `wordDict` 作为字典。 +**描述**:给定一个非空字符串 $s$ 和一个包含非空单词的列表 $wordDict$ 作为字典。 -**要求**:判断是否可以利用字典中出现的单词拼接出 `s` 。 +**要求**:判断是否可以利用字典中出现的单词拼接出 $s$ 。 **说明**: @@ -19,8 +19,8 @@ - $1 \le s.length \le 300$。 - $1 \le wordDict.length \le 1000$。 - $1 \le wordDict[i].length \le 20$。 -- `s` 和 `wordDict[i]` 仅有小写英文字母组成。 -- `wordDict` 中的所有字符串互不相同。 +- $s$ 和 $wordDict[i]$ 仅有小写英文字母组成。 +- $wordDict$ 中的所有字符串互不相同。 **示例**: @@ -51,25 +51,25 @@ ###### 2. 定义状态 -`s` 能否拆分为单词表的单词,可以分解为: +$s$ 能否拆分为单词表的单词,可以分解为: - 前 $i$ 个字符构成的字符串,能否分解为单词。 - 剩余字符串,能否分解为单词。 -定义状态 `dp[i]` 表示:长度为 $i$ 的字符串 `s[0: i]` 能否拆分成单词,如果为 `True` 则表示可以拆分,如果为 `False` 则表示不能拆分。 +定义状态 $dp[i]$ 表示:长度为 $i$ 的字符串 $s[0: i]$ 能否拆分成单词,如果为 $True$ 则表示可以拆分,如果为 $False$ 则表示不能拆分。 ###### 3. 状态转移方程 -- 如果 `s[0: j]` 可以拆分为单词(即 `dp[j] == True`),并且字符串 `s[j: i]` 出现在字典中,则 `dp[i] = True`。 -- 如果 `s[0: j]` 不可以拆分为单词(即 `dp[j] == False`),或者字符串 `s[j: i]` 没有出现在字典中,则 `dp[i] = False`。 +- 如果 $s[0: j]$ 可以拆分为单词(即 $dp[j] == True$),并且字符串 $s[j: i]$ 出现在字典中,则 `dp[i] = True`。 +- 如果 $s[0: j]$ 不可以拆分为单词(即 $dp[j] == False$),或者字符串 $s[j: i]$ 没有出现在字典中,则 `dp[i] = False`。 ###### 4. 初始条件 -- 长度为 $0$ 的字符串 `s[0: i]` 可以拆分为单词,即 `dp[0] = True`。 +- 长度为 $0$ 的字符串 $s[0: i]$ 可以拆分为单词,即 $dp[0] = True$。 ###### 5. 最终结果 -根据我们之前定义的状态,`dp[i]` 表示:长度为 $i$ 的字符串 `s[0: i]` 能否拆分成单词。则最终结果为 `dp[size]`,`size` 为字符串长度。 +根据我们之前定义的状态,$dp[i]$ 表示:长度为 $i$ 的字符串 $s[0: i]$ 能否拆分成单词。则最终结果为 $dp[size]$,$size$ 为字符串长度。 ### 思路 1:代码 @@ -88,6 +88,6 @@ class Solution: ### 思路 1:复杂度分析 -- **时间复杂度**:$O(n^2)$,其中 $n$ 为字符串 `s` 的长度。 +- **时间复杂度**:$O(n^2)$,其中 $n$ 为字符串 $s$ 的长度。 - **空间复杂度**:$O(n)$。 diff --git "a/Solutions/0143. \351\207\215\346\216\222\351\223\276\350\241\250.md" "b/Solutions/0143. \351\207\215\346\216\222\351\223\276\350\241\250.md" index 92bb734f..3240f331 100644 --- "a/Solutions/0143. \351\207\215\346\216\222\351\223\276\350\241\250.md" +++ "b/Solutions/0143. \351\207\215\346\216\222\351\223\276\350\241\250.md" @@ -9,9 +9,9 @@ ## 题目大意 -**描述**:给定一个单链表 `L` 的头节点 `head`,单链表 `L` 表示为:$L_0$ -> $L_1$ -> $L_2$ -> ... -> $L_{n-1}$ -> $L_n$。 +**描述**:给定一个单链表 $L$ 的头节点 $head$,单链表 $L$ 表示为:$L_0 \rightarrow L_1 \rightarrow L_2 \rightarrow ... \rightarrow L_{n-1} \rightarrow L_n$。 -**要求**:将单链表 `L` 重新排列为:$L_0$ -> $L_n$ -> $L_1$ -> $L_{n-1}$ -> $L_2$ -> $L_{n-2}$ -> $L_3$ -> $L_{n-3}$ -> ...。 +**要求**:将单链表 $L$ 重新排列为:$L_0 \rightarrow L_n \rightarrow L_1 \rightarrow L_{n-1} \rightarrow L_2 \rightarrow L_{n-2} \rightarrow L_3 \rightarrow L_{n-3} \rightarrow ...$。 **说明**: