
Вопрос задан 15.06.2023 в 03:51.
Предмет Информатика.
Спрашивает Вейс Аделина.
Дана строка длины n, состоящая из 0 и 1. Необходимо найти длину её наибольшей подстроки, состоящей
только из 1. Например, для строки 101101001001111011 ответом является число 4 . Для решения данной задачи написана такая программа: #include #include #include using namespace std; int main() { string S; cin >> S; int n = S.size(); int ans = 0; for (int i = 0; i < n; ++i) { int t = 0; while (i < n && S[i] == '1') { ++t; ++i; } ans = max(ans, t); } cout << ans << endl; return 0; } Определите асимптотику данного алгоритма. O(1) O(log n) O(√n) O(n) O(n^2) Правильного ответа нет

Ответы на вопрос

Отвечает Черняк Влад.
Ответ: O(n)
Несмотря на то, что алгоритм имеет цикл в цикле сложность равняется O(n), так как оба цикла изменяют один и тот же счётчик на 1. И оба остановятся когда i будет равно n. То есть суммарно будет проделано n итераций.



Отвечает нейросеть ChatGpt. Будьте внимательны, ответы нейросети могут содержать ошибочные или выдуманные данные.
Данный алгоритм имеет асимптотику O(n), так как он содержит один цикл, который проходит по всем символам входной строки, и внутри этого цикла выполняется операция поиска подстроки из единиц. Таким образом, время выполнения алгоритма линейно зависит от длины входной строки.


Похожие вопросы
Топ вопросов за вчера в категории Информатика

Информатика 47

Информатика 33

Информатика 67

Информатика 18

Информатика 25

Информатика 563

Информатика 16
Последние заданные вопросы в категории Информатика
Предметы
-
Математика
-
Литература
-
Алгебра
-
Русский язык
-
Геометрия
-
Английский язык
-
Химия
-
Физика
-
Биология
-
Другие предметы
-
История
-
Обществознание
-
Окружающий мир
-
География
-
Українська мова
-
Информатика
-
Українська література
-
Қазақ тiлi
-
Экономика
-
Музыка
-
Право
-
Беларуская мова
-
Французский язык
-
Немецкий язык
-
МХК
-
ОБЖ
-
Психология
-
Физкультура и спорт
-
Астрономия
-
Кыргыз тили
-
Оʻzbek tili