File tree Expand file tree Collapse file tree 1 file changed +30
-0
lines changed Expand file tree Collapse file tree 1 file changed +30
-0
lines changed Original file line number Diff line number Diff line change
1
+ class Solution {
2
+ fun maxTurbulenceSize (arr : IntArray ): Int {
3
+ if (arr.size == 1 ) return 1
4
+ var previousEqualitySymbol = ' '
5
+ var currentSubArraySize = 1
6
+ var maxSubArraySize = 1
7
+ for (i in 1 .. arr.lastIndex) {
8
+ if (arr[i - 1 ] > arr[i] && previousEqualitySymbol != ' >' ) {
9
+ currentSubArraySize++
10
+ maxSubArraySize = maxOf(maxSubArraySize, currentSubArraySize)
11
+ previousEqualitySymbol = ' >'
12
+ continue
13
+ }
14
+ if (arr[i - 1 ] < arr[i] && previousEqualitySymbol != ' <' ) {
15
+ currentSubArraySize++
16
+ maxSubArraySize = maxOf(maxSubArraySize, currentSubArraySize)
17
+ previousEqualitySymbol = ' <'
18
+ continue
19
+ }
20
+ currentSubArraySize = if (arr[i - 1 ] == arr[i]) 1 else 2
21
+ maxSubArraySize = maxOf(maxSubArraySize, currentSubArraySize)
22
+ previousEqualitySymbol = when {
23
+ arr[i - 1 ] < arr[i] -> ' <'
24
+ arr[i - 1 ] > arr[i] -> ' >'
25
+ else -> ' '
26
+ }
27
+ }
28
+ return maxSubArraySize
29
+ }
30
+ }
You can’t perform that action at this time.
0 commit comments