Рассчитать алгоритмическую сложность при вызове другой функции
private static int f(int[] a, int low, int high)
{
int res = 0;
for (int i = low; i <= high; i++)
res += a[i];
return res;
}
/**
*
* @return the size of the largest gap in the array in which the combined values contained in the indexes are divisible by 3
*
*/
public static int what(int[] a)
{
int temp = 0;
for (int i = 0; i < a.length; i++)
{
for (int j = i; j < a.length; j++)
{
int c = f(a, i, j);
if (c % 3 == 0)
{
if (j - i + 1 > temp)
temp = j - i + 1;
}
}
}
return temp;
}
Мне нужно рассчитать алгоритмическую сложность what
, Я думаю, что это может быть n^2
потому что у него есть две петли, но это также может быть n^3
потому что он использует f
у которого есть еще один цикл. Как я могу определить его алгоритмическую сложность?