Kotlin Leetcode - 485. Max Consecutive Ones
class Solution {
fun findMaxConsecutiveOnes(nums: IntArray): Int {
}
}
解題思路
這一題考的是陣列處理
基本上就是經過所有元素
統計出連續的個數後
和現在的最大連續個數進行比較
Kotlin 參考解答
用 forEach
可以這樣寫
class Solution {
fun findMaxConsecutiveOnes(nums: IntArray): Int {
var ans = 0
var max = 0
nums.forEach {
if(it == 1) {
max++
} else {
ans = maxOf(ans, max)
max = 0
}
}
return maxOf(ans, max)
}
}
我們也可以將 if
判斷用 when
簡化過後,變成下面的寫法
class Solution {
fun findMaxConsecutiveOnes(nums: IntArray): Int {
var ans = 0
var max = 0
nums.forEach {
when (it) {
1 -> max++
else -> ans = maxOf(ans, max).also { max = 0 }
}
}
return maxOf(ans, max)
}
}
回到 leetcode 列表