485. 最大连续 1 的个数 简单
给定一个二进制数组, 计算其中最大连续 1 的个数。
示例:
输入:[1,1,0,1,1,1]
输出:3
解释:开头的两位和最后的三位都是连续 1 ,所以最大连续 1 的个数是 3.
提示:
- 输入的数组只包含 0 和 1 。
- 输入数组的长度是正整数,且不超过 10,00
代码参考:
package main
import "fmt"
func main() {
fmt.Println(findMaxConsecutiveOnes([]int{})) // 0
fmt.Println(findMaxConsecutiveOnes([]int{1, 1, 0, 1, 1, 1})) // 3
}
func findMaxConsecutiveOnes(nums []int) int {
n := len(nums)
count, maxCount := 0, 0
for i := 0; i < n; i++ {
if nums[i] == 1 {
count = 1
for j := i + 1; j < n; j++ { // 向后找连续的 1
if nums[j] == 0 {
break
}
count++
i++
}
maxCount = max(count, maxCount)
}
}
return maxCount
}
func max(x, y int) int {
if x > y {
return x
}
return y
}
最后编辑: kuteng 文档更新时间: 2021-06-05 10:16 作者:kuteng