I’m starting to enjoy binary related problems particularly bit manipulation. But this time, it’s just plain loop that monitors max count of consecutive ones. Easy peasy.
class Solution {
fun findMaxConsecutiveOnes(nums: IntArray): Int {
var max = Integer.MIN_VALUE
var current = 0
nums.forEach {
when {
it == 1 -> current++
else -> {
max = Math.max(current, max)
current = 0
}
}
}
return Math.max(max, current)
}
}
Runtime: 248 ms, faster than 47.37% of Kotlin online submissions for Max Consecutive Ones.
Memory Usage: 37.3 MB, less than 100.00% of Kotlin online submissions for Max Consecutive Ones.