Middle
Dotas ir nullešu virkne. Nepieciešams uzrakstīt funkciju func(), kas atgriezīs maksimālo pēc kārtas esošo vienību skaitu. Piemēram: func("010111011") -> 3
sobes.tech AI
Atbilde no AI
Вот пример функции на Go, которая возвращает максимальное количество подряд идущих единиц в строке:
package main
import (
"fmt"
)
func maxConsecutiveOnes(s string) int {
maxCount := 0
currentCount := 0
for _, ch := range s {
if ch == '1' {
currentCount++
if currentCount > maxCount {
maxCount = currentCount
}
} else {
currentCount = 0
}
}
return maxCount
}
func main() {
testStr := "010111011"
fmt.Println(maxConsecutiveOnes(testStr)) // Выведет 3
}
Функция проходит по строке, считает текущую последовательность единиц и обновляет максимум при необходимости.