Codezeiten wurden in einer geschachtelten for-Schleife in Java ausgeführt
Ich lese gerade das Buch mit dem TitelAlgorithmen von Robert Sedgewick. Beim Lesen von "Analysis of Algorithms" bin ich auf einen Code gestoßen. Der Code lautet wie folgt:
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
}
Ich möchte wissen, wie oft dieif
-Statement innerhalb derfor
-loop wurde ausgeführt. Die Antwort des Buches lautetN(N-1)(N-2)/6
. Aber ich weiß nicht warum, könnte jemand erklären.