Какова сложность выполнения этого кода во время выполнения?Какова сложность выполнения этого кода во время выполнения?
#include <cstdio>
#include <cstring>
int main()
{
int n, i, l, j, c, ans = 25;
scanf("%d", &n);
char x[21], y[21];
scanf("%s", &x);
l = strlen(x);
for(i=1; i<n; i++)
{
scanf("%s", &y);
c = 0;
for(j=0 ;j<l; j++)
if(x[j] == y[j])
c++;
else
break;
strcpy(x, y);
if(ans > c)
ans = c;
}
printf("%d", ans);
return 0;
}
Мой преподаватель говорит мне, что сложность этого кода O(n*n)
но я не убедил этот ответ вызвать внутренний цикл выполняется раз длиной строки.
Я не понимаю, почему вы были проголосованы. Вы предлагаете свое собственное понимание ... Я больше не получаю этот сайт – Fezvez
Я не знаю, но вы хороший человек, потому что заметили, что :) –
Выглядит O (n * m). Вы уверены, что он сказал n * n? Я бы ожидал, что профессор назовет это n^2. – Taekahn