Рассчитать алгоритмическую сложность при вызове другой функции

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 у которого есть еще один цикл. Как я могу определить его алгоритмическую сложность?

0 ответов

Другие вопросы по тегам