Skip to content

Commit

Permalink
Update 975.odd-even-jump.md
Browse files Browse the repository at this point in the history
  • Loading branch information
azl397985856 authored Jan 14, 2021
1 parent 2dd5baa commit 8869988
Showing 1 changed file with 2 additions and 2 deletions.
4 changes: 2 additions & 2 deletions problems/975.odd-even-jump.md
Original file line number Diff line number Diff line change
Expand Up @@ -76,14 +76,14 @@ https://leetcode-cn.com/problems/odd-even-jump/

题目要求我们从数组某一个索引出发交替跳高和跳低(奇偶跳),如果可以跳到末尾,则计数器加一,最终返回计数器的值。

这种题目一般都是倒着思考比较容易。因为我虽然不知道你**从哪开始**可以跳到最后,但是我知道你一定是在数组末尾**结束的**
这种题目一般都是倒着思考比较容易。因为我虽然不知道你**从哪开始**可以跳到最后,但是我知道最终被计算进返回值的一定是在数组末尾**结束的**

我们先尝试从题目给的例子打开思路。

以题目中的[10,13,12,14,15]为例。最终计入计数器的出发点一定是跳到了 15 上,15 这一步既可以是跳高(奇数跳)过来的,也可以是跳低(偶数跳)过来的。

- 如果是跳高过来的,那么一定是 14,因此只有 14 的下一个**最小的**比其大(或等于)的是 15。
- 不可能是跳低过来的,因为没有比它大的。而如果前面有比它的,那一定是找一个数 x,x 的下一个**最大**的比其小(或等于)的是 15。
- 不可能是跳低过来的,因为没有比它大的。而如果前面有比它大的,那一定是找一个数 x,x 的下一个**最大**的比其小(或等于)的是 15。

一开始我想到的是单调栈,单很快就发现这行不通。因为题目要求的并不是**下一个**比其大(或等于)的数,而是**下一个最小的**比其大(或等于)。

Expand Down

0 comments on commit 8869988

Please sign in to comment.