Назад к вопросам
Купер
Middle
15
Дана строка из нулей и единиц. Необходимо написать функцию func(), которая вернет максимальное число подряд идущих единиц. Например: func("010111011") -> 3
Компании, где спрашивали
Ответ от нейросети
sobes.tech 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
}
Функция проходит по строке, считает текущую последовательность единиц и обновляет максимум при необходимости.