My code

func findMaxConsecutiveOnes(nums []int) int {
count := 0
max := 0
bnum := 1
for index := range nums {
if bnum == 1 {
if nums[index] == 1 {
count++
bnum = 1
} else {
bnum = 0
}
} else {
count = 0
if nums[index] == 1 {
count++
bnum = 1
}
}
if max < count {
max = count
}
}
return max
}


sample 24 ms submission
func findMaxConsecutiveOnes(nums []int) int {
var (
maxOnes,
currentOnes int
)
for _, val := range nums {
if val == 1 {
currentOnes += 1
if currentOnes > maxOnes {
maxOnes = currentOnes
}
} else {
currentOnes = 0
}
}
return maxOnes
}
- Really simple and clear code!
sample 6500 KB submission
func findMaxConsecutiveOnes(nums []int) int {
for idx := 1; idx < len(nums); idx += 1 {
if idx == 1 {
if nums[1] > 0 {
nums[1] += nums[0]
if nums[1] > 0 {
nums[0] = nums[1]
}
}
continue
}
if nums[idx] > 0 {
nums[1] += 1
if nums[1] > nums[0] {
nums[0] +=1
}
} else {
nums[1] = 0
continue
}
}
return nums[0]
}