485.最大连续 1 的个数

86 阅读1分钟

题目:
给定一个二进制数组 nums , 计算其中最大连续 1 的个数。
算法:
直接模拟法,注意nums只有单个元素,为0,1的情况

func findMaxConsecutiveOnes(nums []int) int {
	start := -1
	end := -1
	ans := 0
	for i := range nums {
		if nums[i] == 1 {
			if start == -1 {
				start = i
				end = i
			} else {
				end ++
			}
			if end - start + 1 > ans {
				ans = end - start + 1
			}
		} else {
			start = -1
			end = -1
		}
	}
	return ans 
}