Sobes.tech
Middle

Dada uma string de zeros e uns. É necessário escrever uma função func() que retorne o maior número de uns consecutivos. Por exemplo: func("010111011") -> 3

sobes.tech IA

Resposta da IA

Вот пример функции на 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
}

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