Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -379,7 +379,7 @@ If you would like to have collaborator permissions on the repo to merge your own
<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>
<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>
<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>
<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>
<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>
<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>
<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>
<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>
Expand Down
28 changes: 28 additions & 0 deletions kotlin/0846-hand-of-straights.kt
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
class Solution {
fun isNStraightHand(hand: IntArray, groupSize: Int): Boolean {
if (hand.size % groupSize != 0) return false
val countMap = mutableMapOf<Int, Int>()
hand.forEach { countMap[it] = countMap.getOrDefault(it, 0) + 1 }
val minHeap = PriorityQueue(countMap.keys)

while (minHeap.isNotEmpty()) {
val minValue = minHeap.peek()
if (countMap.getValue(minValue) == 0) {
minHeap.remove()
continue
}
// loop through consecutive numbers starting from the "minValue" number
for (consecutiveNumber in minValue until (minValue + groupSize)) {
if (
consecutiveNumber !in countMap.keys ||
countMap.getValue(consecutiveNumber) == 0
) return false
countMap[consecutiveNumber] = countMap.getValue(consecutiveNumber) - 1
}
// if the loop successfully executes without returning, it indicates that
// it was possible to create a group of size [groupSize] with minValue
// as the first element in the group.
}
return true
}
}
30 changes: 30 additions & 0 deletions kotlin/0978-longest-turbulent-subarray.kt
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
class Solution {
fun maxTurbulenceSize(arr: IntArray): Int {
if (arr.size == 1) return 1
var previousEqualitySymbol = ' '
var currentSubArraySize = 1
var maxSubArraySize = 1
for (i in 1..arr.lastIndex) {
if (arr[i - 1] > arr[i] && previousEqualitySymbol != '>') {
currentSubArraySize++
maxSubArraySize = maxOf(maxSubArraySize, currentSubArraySize)
previousEqualitySymbol = '>'
continue
}
if (arr[i - 1] < arr[i] && previousEqualitySymbol != '<') {
currentSubArraySize++
maxSubArraySize = maxOf(maxSubArraySize, currentSubArraySize)
previousEqualitySymbol = '<'
continue
}
currentSubArraySize = if (arr[i - 1] == arr[i]) 1 else 2
maxSubArraySize = maxOf(maxSubArraySize, currentSubArraySize)
previousEqualitySymbol = when {
arr[i - 1] < arr[i] -> '<'
arr[i - 1] > arr[i] -> '>'
else -> ' '
}
}
return maxSubArraySize
}
}