Я пытаюсь проверить временную сложность следующей простой программы.
Программа заменяет пробелы в строке на '% 20'
.
Цикл для подсчета пробелов (время O (1))
foreach (char k in s)
{
если (k == '')
{
пробелы_cnt ++;
}
}
Цикл для замены пробелов (O (n), где n - размер строки)
char [] c = new char [s.Length +paces_cnt * 3];
int я = 0;
int j = 0;
в то время как (i
Итак, я предполагаю, что это решение "O (n) + O (1)". Пожалуйста, поправьте меня, если я ошибаюсь.