Время выполнения кода во вложенном цикле for в Java
Я недавно читаю книгу под названиемАлгоритмы Роберт Седжвик. Я наткнулся на один кусок кода, читая «Анализ алгоритмов». Код выглядит следующим образом:
public static int count(int a[]) {
int N = a.length;
int cnt = 0;
for (int i = 0; i < N; i++) {
for (int j = i + 1; j < N; j++) {
for (int k = j + 1; k < N; k++) {
if (a[i] + a[j] + a[k] == 0) { //here
cnt++;
}
}
}
}
return cnt
}
То, что я хочу знать, это сколько разif
заявление в пределахfor
петлю казнили. Ответ, предоставленный книгой:N(N-1)(N-2)/6
, Но я не знаю почему, кто-нибудь может объяснить.