[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))
}

提交截图:

在这里插入图片描述

posted @ 2022-07-08 09:43  Dancing-Pierre  阅读(18)  评论(0)    收藏  举报  来源