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