Skip to content

Commit dcb11e2

Browse files
committed
修改 动态规划.md
1 parent 7b8b56f commit dcb11e2

File tree

1 file changed

+2
-2
lines changed

1 file changed

+2
-2
lines changed

LeetCode/动态规划.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1818,7 +1818,7 @@ public:
18181818
18191819
#### 方法1:动态规划
18201820
1821-
定义一个`dp`数组,`dp[i]`表示在`i`位置之前**小于`nums[i]`的并且能组成最长上升序列的数字个数**(包括`nums[i]`本身),我们初始化`dp`数组都为1,然后我们开始遍历原数组,对当前数字`nums[i]`,我们遍历其之前的所有数字,如果之前某个数字`nums[j]`小于`nums[i]`,那么我们更新`dp[i] = max(dp[i], dp[j] + 1)`,如果此时`dp[i]`到3了,则返回`true`,若遍历完成,则返回`false`。
1821+
定义一个`dp`数组,`dp[i]`表示在`i`位置之前**小于`nums[i]`并且能组成最长上升序列的数字的个数**(包括`nums[i]`本身),我们初始化`dp`数组都为1,然后我们开始遍历原数组,对当前数字`nums[i]`,我们遍历其之前的所有数字,如果之前某个数字`nums[j]`小于`nums[i]`,那么我们更新`dp[i] = max(dp[i], dp[j] + 1)`,如果此时`dp[i]`到3了,则返回`true`,若遍历完成,则返回`false`。
18221822
18231823
- 时间复杂度:O(*n<sup>2</sup>*)
18241824
- 空间复杂度:O(*n*)
@@ -1849,7 +1849,7 @@ public:
18491849

18501850
#### 方法2:贪心
18511851

1852-
定义两个指针`less``more`,初始化为整型最大值,我们遍历数组,如果`less`大于等于当前数字,则将当前数字赋给`less`;如果`less`小于当前数字且`more`大于等于当前数字,那么将当前数字赋给`more`,一旦`more`被更新了,说明前面一定会有一个数小于`more`,那么我们就成功的组成了一个长度为2的递增子序列,所以我们一旦遍历到比`more`还大的数,我们直接返回`true`。如果我们遇到比`less`小的数,仍然要更新`less`同时也要更新`more`为更小的值,毕竟`more`的值越小,能组成长度为3的递增序列的可能性越大。
1852+
定义两个指针`less``more`,初始化为整型最大值,我们遍历数组,如果`less`大于等于当前数字,则将当前数字赋给`less`;如果`less`小于当前数字且`more`大于等于当前数字,那么将当前数字赋给`more`,一旦`more`被更新了,说明前面一定会有一个数小于`more`,那么我们就成功的组成了一个长度为2的递增子序列,所以我们一旦遍历到比`more`还大的数,我们直接返回`true`。如果我们遇到比`less`小的数,仍然要更新`less`同时有可能的话也要更新`more`为更小的值,毕竟`more`的值越小,能组成长度为3的递增序列的可能性越大。
18531853

18541854
- 时间复杂度:O(*n*)
18551855
- 空间复杂度:O(1)

0 commit comments

Comments
 (0)