kt: add «2560. House Robber IV»
URL: https://leetcode.com/problems/house-robber-iv/ Signed-off-by: Matej Focko <me@mfocko.xyz>
This commit is contained in:
parent
356b3e0dde
commit
6cda50188b
1 changed files with 27 additions and 0 deletions
27
kt/house-robber-iv.kt
Normal file
27
kt/house-robber-iv.kt
Normal file
|
@ -0,0 +1,27 @@
|
|||
class Solution {
|
||||
fun minCapability(
|
||||
nums: IntArray,
|
||||
k: Int,
|
||||
): Int {
|
||||
var (min, max) = 1 to nums.max()!!
|
||||
|
||||
while (min < max) {
|
||||
val mid = (min + max) / 2
|
||||
|
||||
val (_, possible) =
|
||||
nums.fold(true to 0) { (canRob, robbed), reward ->
|
||||
when {
|
||||
canRob && reward <= mid -> false to (robbed + 1)
|
||||
else -> true to robbed
|
||||
}
|
||||
}
|
||||
|
||||
when {
|
||||
possible >= k -> max = mid
|
||||
else -> min = mid + 1
|
||||
}
|
||||
}
|
||||
|
||||
return min
|
||||
}
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue