Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit ce439a6

Browse files
Create Readme.md
1 parent 4db46da commit ce439a6

File tree

1 file changed

+5
-0
lines changed
  • Others/978.Longest-Turbulent-Subarray

1 file changed

+5
-0
lines changed
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
### 978.Longest-Turbulent-Subarray
2+
3+
将原始数组的相邻两个元素做差,如果为正就标记1,如果为负就标记-1,如果相等就标记0. 那么我们就能得到一个长度为n-1的序列q。显然,我们需要找q中最长的一段subarray,并且元素是1和-1间隔的。一个等价的判断就是q中的相邻元素的乘积是-1.
4+
5+
假设我们从i开始作为起点,那么subarray能变长的条件就是```q[i]*q[i+1]==-1```,这样我们就递增i,直至可以找到最后一个满足条件的位置i',那么q[i:i']就是一段最长的+/-1相间的序列。注意,q是差分元素,所以实际在nums里,subarray长度就是```i'-i+2```.

0 commit comments

Comments
(0)

AltStyle によって変換されたページ (->オリジナル) /