Skip to content

Commit aedff12

Browse files
author
lucifer
committed
fix: typo
1 parent b74046f commit aedff12

File tree

1 file changed

+4
-1
lines changed

1 file changed

+4
-1
lines changed

problems/456.132-pattern.md

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -61,12 +61,15 @@ n == nums.length
6161

6262
实际上,我们也可以枚举 2 的位置,这样目标变为找到一个大于 2 的数和一个小于 2 的数。由于 2 在序列的右侧,因此我们需要**从右往左**进行遍历。又由于题目只需要找到一个 312 模式,因此我们应该贪心地选择尽可能大的 2(只要不大于 3 即可),这样才**更容易找到 1**(换句话说不会错过 1)。
6363

64-
首先考虑找到 32 模式。我们可以使用从右往左遍历,遇到一个比后一位大的数。我们就找到了一个可行的 32 模式。和上面思路类似,维护一个全局最小值即可,这样就不会错过答案。可是这样就无法做到前面提到的**贪心地选择尽可能大的 2**,我们选择的 2 实际上是尽可能小的 2。那如何找到尽可能大的并且比当前数小的 2 呢?
64+
首先考虑找到 32 模式。我们可以使用从右往左遍历的方式,当遇到一个比后一位大的数时,我们就找到了一个可行的 32 模式。
65+
66+
和上面思路类似,维护一个全局最小值即可,这样就不会错过答案。可是这样就无法做到前面提到的**贪心地选择尽可能大的 2**,我们选择的 2 实际上是尽可能小的 2。那如何找到尽可能大的并且比当前数(3)小的 2 呢?
6567

6668
其实,我们可以维护一个递增栈。每次遇到一个比栈顶大的数就 pop 栈,直到栈顶比当前数字还大。那么最后一次 pop 出去的就是满足条件的最大的 2 了。找到了 32 模式,接下来,我们只需要找到一个比 2 小的数就可以直接返回 True 了。
6769

6870
## 关键点
6971

72+
- 先找到 32 模式,再找 132 模式。
7073
- 固定 2, 从右往左遍历,使用单调栈获取最大的小于当前数的 2,并将当前数作为 3 。
7174

7275
## 代码

0 commit comments

Comments
 (0)