File tree Expand file tree Collapse file tree 3 files changed +59
-1
lines changed Expand file tree Collapse file tree 3 files changed +59
-1
lines changed Original file line number Diff line number Diff line change @@ -379,7 +379,7 @@ If you would like to have collaborator permissions on the repo to merge your own
379
379
<sub>[0045 - Jump Game II](https://leetcode.com/problems/jump-game-ii/)</sub> | <sub><div align='center'>[✔️](c%2F0045-jump-game-ii.c)</div></sub> | <sub><div align='center'>[✔️](cpp%2F0045-jump-game-ii.cpp)</div></sub> | <sub><div align='center'>[✔️](csharp%2F0045-jump-game-ii.cs)</div></sub> | <sub><div align='center'>❌</div></sub> | <sub><div align='center'>[✔️](go%2F0045-jump-game-ii.go)</div></sub> | <sub><div align='center'>[✔️](java%2F0045-jump-game-ii.java)</div></sub> | <sub><div align='center'>[✔️](javascript%2F0045-jump-game-ii.js)</div></sub> | <sub><div align='center'>[✔️](kotlin%2F0045-jump-game-ii.kt)</div></sub> | <sub><div align='center'>[✔️](python%2F0045-jump-game-ii.py)</div></sub> | <sub><div align='center'>[✔️](ruby%2F0045-jump-game-ii.rb)</div></sub> | <sub><div align='center'>❌</div></sub> | <sub><div align='center'>❌</div></sub> | <sub><div align='center'>[✔️](swift%2F0045-jump-game-ii.swift)</div></sub> | <sub><div align='center'>[✔️](typescript%2F0045-jump-game-ii.ts)</div></sub>
380
380
<sub >[ 1871 - Jump Game VII] ( https://leetcode.com/problems/jump-game-vii/ ) </sub > | <sub ><div align =' center ' >❌</div ></sub > | <sub ><div align =' center ' >❌</div ></sub > | <sub ><div align =' center ' >❌</div ></sub > | <sub ><div align =' center ' >❌</div ></sub > | <sub ><div align =' center ' >❌</div ></sub > | <sub ><div align =' center ' >❌</div ></sub > | <sub ><div align =' center ' >❌</div ></sub > | <sub ><div align =' center ' >❌</div ></sub > | <sub ><div align =' center ' >❌</div ></sub > | <sub ><div align =' center ' >❌</div ></sub > | <sub ><div align =' center ' >❌</div ></sub > | <sub ><div align =' center ' >❌</div ></sub > | <sub ><div align =' center ' >❌</div ></sub > | <sub ><div align =' center ' >❌</div ></sub >
381
381
<sub>[0134 - Gas Station](https://leetcode.com/problems/gas-station/)</sub> | <sub><div align='center'>[✔️](c%2F0134-gas-station.c)</div></sub> | <sub><div align='center'>[✔️](cpp%2F0134-gas-station.cpp)</div></sub> | <sub><div align='center'>[✔️](csharp%2F0134-gas-station.cs)</div></sub> | <sub><div align='center'>❌</div></sub> | <sub><div align='center'>[✔️](go%2F0134-gas-station.go)</div></sub> | <sub><div align='center'>[✔️](java%2F0134-gas-station.java)</div></sub> | <sub><div align='center'>[✔️](javascript%2F0134-gas-station.js)</div></sub> | <sub><div align='center'>[✔️](kotlin%2F0134-gas-station.kt)</div></sub> | <sub><div align='center'>[✔️](python%2F0134-gas-station.py)</div></sub> | <sub><div align='center'>[✔️](ruby%2F0134-gas-station.rb)</div></sub> | <sub><div align='center'>❌</div></sub> | <sub><div align='center'>❌</div></sub> | <sub><div align='center'>[✔️](swift%2F0134-gas-station.swift)</div></sub> | <sub><div align='center'>[✔️](typescript%2F0134-gas-station.ts)</div></sub>
382
- <sub >[ 0846 - Hand of Straights] ( https://leetcode.com/problems/hand-of-straights/ ) </sub > | <sub ><div align =' center ' >❌</div ></sub > | <sub ><div align =' center ' >[ ✔️] ( cpp%2F0846-hand-of-straights.cpp ) </div ></sub > | <sub ><div align =' center ' >[ ✔️] ( csharp%2F0846-hand-of-straights.cs ) </div ></sub > | <sub ><div align =' center ' >❌</div ></sub > | <sub ><div align =' center ' >[ ✔️] ( go%2F0846-hand-of-straights.go ) </div ></sub > | <sub ><div align =' center ' >[ ✔️] ( java%2F0846-hand-of-straights.java ) </div ></sub > | <sub ><div align =' center ' >[ ✔️] ( javascript%2F0846-hand-of-straights.js ) </div ></sub > | <sub ><div align =' center ' >❌ </div ></sub > | <sub ><div align =' center ' >[ ✔️] ( python%2F0846-hand-of-straights.py ) </div ></sub > | <sub ><div align =' center ' >[ ✔️] ( ruby%2F0846-hand-of-straights.rb ) </div ></sub > | <sub ><div align =' center ' >❌</div ></sub > | <sub ><div align =' center ' >❌</div ></sub > | <sub ><div align =' center ' >❌</div ></sub > | <sub ><div align =' center ' >[ ✔️] ( typescript%2F0846-hand-of-straights.ts ) </div ></sub >
382
+ <sub>[0846 - Hand of Straights](https://leetcode.com/problems/hand-of-straights/)</sub> | <sub><div align='center'>❌</div></sub> | <sub><div align='center'>[✔️](cpp%2F0846-hand-of-straights.cpp)</div></sub> | <sub><div align='center'>[✔️](csharp%2F0846-hand-of-straights.cs)</div></sub> | <sub><div align='center'>❌</div></sub> | <sub><div align='center'>[✔️](go%2F0846-hand-of-straights.go)</div></sub> | <sub><div align='center'>[✔️](java%2F0846-hand-of-straights.java)</div></sub> | <sub><div align='center'>[✔️](javascript%2F0846-hand-of-straights.js)</div></sub> | <sub><div align='center'>[✔️](kotlin%2F0846-hand-of-straights.kt) </div></sub> | <sub><div align='center'>[✔️](python%2F0846-hand-of-straights.py)</div></sub> | <sub><div align='center'>[✔️](ruby%2F0846-hand-of-straights.rb)</div></sub> | <sub><div align='center'>❌</div></sub> | <sub><div align='center'>❌</div></sub> | <sub><div align='center'>❌</div></sub> | <sub><div align='center'>[✔️](typescript%2F0846-hand-of-straights.ts)</div></sub>
383
383
<sub >[ 1423 - Maximum Points You Can Obtain From Cards] ( https://leetcode.com/problems/maximum-points-you-can-obtain-from-cards/ ) </sub > | <sub ><div align =' center ' >❌</div ></sub > | <sub ><div align =' center ' >❌</div ></sub > | <sub ><div align =' center ' >[ ✔️] ( csharp%2F1423-Maximum-Points-You-Can-Obtain-from-Cards.cs ) </div ></sub > | <sub ><div align =' center ' >❌</div ></sub > | <sub ><div align =' center ' >❌</div ></sub > | <sub ><div align =' center ' >❌</div ></sub > | <sub ><div align =' center ' >❌</div ></sub > | <sub ><div align =' center ' >❌</div ></sub > | <sub ><div align =' center ' >❌</div ></sub > | <sub ><div align =' center ' >❌</div ></sub > | <sub ><div align =' center ' >❌</div ></sub > | <sub ><div align =' center ' >❌</div ></sub > | <sub ><div align =' center ' >❌</div ></sub > | <sub ><div align =' center ' >❌</div ></sub >
384
384
<sub>[1899 - Merge Triplets to Form Target Triplet](https://leetcode.com/problems/merge-triplets-to-form-target-triplet/)</sub> | <sub><div align='center'>❌</div></sub> | <sub><div align='center'>[✔️](cpp%2F1899-merge-triplets-to-form-target-triplet.cpp)</div></sub> | <sub><div align='center'>[✔️](csharp%2F1899-Merge-Triplets-to-Form-Target-Triplet.cs)</div></sub> | <sub><div align='center'>❌</div></sub> | <sub><div align='center'>❌</div></sub> | <sub><div align='center'>[✔️](java%2F1899-merge-triplets-to-form-target-triplet.java)</div></sub> | <sub><div align='center'>[✔️](javascript%2F1899-merge-triplets-to-form-target-triplet.js)</div></sub> | <sub><div align='center'>❌</div></sub> | <sub><div align='center'>[✔️](python%2F1899-merge-triplets-to-form-target-triplet.py)</div></sub> | <sub><div align='center'>[✔️](ruby%2F1899-merge-triplets-to-form-target-triplet.rb)</div></sub> | <sub><div align='center'>❌</div></sub> | <sub><div align='center'>❌</div></sub> | <sub><div align='center'>[✔️](swift%2F1899-Merge-Triplets-To-Form-Target-Triplet.swift)</div></sub> | <sub><div align='center'>[✔️](typescript%2F1899-Merge-Triplets-to-Form-Target-Triplet.ts)</div></sub>
385
385
<sub >[ 0763 - Partition Labels] ( https://leetcode.com/problems/partition-labels/ ) </sub > | <sub ><div align =' center ' >❌</div ></sub > | <sub ><div align =' center ' >[ ✔️] ( cpp%2F0763-partition-labels.cpp ) </div ></sub > | <sub ><div align =' center ' >[ ✔️] ( csharp%2F0763-partition-labels.cs ) </div ></sub > | <sub ><div align =' center ' >❌</div ></sub > | <sub ><div align =' center ' >[ ✔️] ( go%2F0763-partition-labels.go ) </div ></sub > | <sub ><div align =' center ' >[ ✔️] ( java%2F0763-partition-labels.java ) </div ></sub > | <sub ><div align =' center ' >[ ✔️] ( javascript%2F0763-partition-labels.js ) </div ></sub > | <sub ><div align =' center ' >❌</div ></sub > | <sub ><div align =' center ' >[ ✔️] ( python%2F0763-partition-labels.py ) </div ></sub > | <sub ><div align =' center ' >[ ✔️] ( ruby%2F0763-partition-labels.rb ) </div ></sub > | <sub ><div align =' center ' >❌</div ></sub > | <sub ><div align =' center ' >❌</div ></sub > | <sub ><div align =' center ' >❌</div ></sub > | <sub ><div align =' center ' >❌</div ></sub >
Original file line number Diff line number Diff line change
1
+ class Solution {
2
+ fun isNStraightHand (hand : IntArray , groupSize : Int ): Boolean {
3
+ if (hand.size % groupSize != 0 ) return false
4
+ val countMap = mutableMapOf<Int , Int >()
5
+ hand.forEach { countMap[it] = countMap.getOrDefault(it, 0 ) + 1 }
6
+ val minHeap = PriorityQueue (countMap.keys)
7
+
8
+ while (minHeap.isNotEmpty()) {
9
+ val minValue = minHeap.peek()
10
+ if (countMap.getValue(minValue) == 0 ) {
11
+ minHeap.remove()
12
+ continue
13
+ }
14
+ // loop through consecutive numbers starting from the "minValue" number
15
+ for (consecutiveNumber in minValue until (minValue + groupSize)) {
16
+ if (
17
+ consecutiveNumber !in countMap.keys ||
18
+ countMap.getValue(consecutiveNumber) == 0
19
+ ) return false
20
+ countMap[consecutiveNumber] = countMap.getValue(consecutiveNumber) - 1
21
+ }
22
+ // if the loop successfully executes without returning, it indicates that
23
+ // it was possible to create a group of size [groupSize] with minValue
24
+ // as the first element in the group.
25
+ }
26
+ return true
27
+ }
28
+ }
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