[Golang]力扣Leetcode - 485. 最大连续 1 的个数(遍历)
[Golang]力扣Leetcode - 485. 最大连续 1 的个数(遍历)
题目:给定一个二进制数组 nums , 计算其中最大连续 1 的个数。
链接: 力扣Leetcode - 485. 最大连续 1 的个数.
示例1:
输入:nums = [1,1,0,1,1,1]
输出:3
解释:开头的两位和最后的三位都是连续 1 ,所以最大连续 1 的个数是 3.
示例 2:
输入:nums = [1,0,1,1,0,1]
输出:2
思路: 直接遍历数组,遇到 1 直接在 num 中加 1 ,再和 max 比较,一旦比 max 大,就更新 max 。直到遍历完整个数组,输出 max 就行了。
Go代码:
package main import "fmt" func findMaxConsecutiveOnes(nums []int) int { var num, max int for _, value := range nums { if value == 1 { num += 1 if num > max { max = num } } else { num = 0 } } return max } func main() { a := []int{1, 1, 0, 1, 1, 1} fmt.Println(findMaxConsecutiveOnes(a)) }
提交截图:
本文作者:Dancing-Pierre
本文链接:https://www.cnblogs.com/wyc-1009/p/17548011.html
版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步