kt: add «2275. Largest Combination With Bitwise AND Greater Than Zero»
URL: https://leetcode.com/problems/largest-combination-with-bitwise-and-greater-than-zero/ Signed-off-by: Matej Focko <me@mfocko.xyz>
This commit is contained in:
parent
f4b32c3129
commit
f29fb46aa0
1 changed files with 22 additions and 0 deletions
22
kt/largest-combination-with-bitwise-and-greater-than-zero.kt
Normal file
22
kt/largest-combination-with-bitwise-and-greater-than-zero.kt
Normal file
|
@ -0,0 +1,22 @@
|
|||
class Solution {
|
||||
private val maxBits = 24
|
||||
|
||||
private data class State(val counters: IntArray) {
|
||||
fun update(num: Int): State {
|
||||
counters.indices.fold(num) { num, i ->
|
||||
if (num % 2 != 0) {
|
||||
counters[i] += 1
|
||||
}
|
||||
|
||||
num.shr(1)
|
||||
}
|
||||
|
||||
return this
|
||||
}
|
||||
}
|
||||
|
||||
fun largestCombination(candidates: IntArray): Int =
|
||||
candidates.fold(State(IntArray(maxBits))) { acc, it ->
|
||||
acc.update(it)
|
||||
}.counters.max()
|
||||
}
|
Loading…
Reference in a new issue