Sobes.tech
Назад к вопросам
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
}

Функция проходит по строке, считает текущую последовательность единиц и обновляет максимум при необходимости.