在Java中的嵌套for循环中执行代码的次数

我最近正在阅读Robert Sedgewick写的《算法》一书。

在阅读“算法分析”时,我遇到了一段代码。代码

如下:

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

}

我想知道的是-loop中的if-statementfor被执行了多少次。这本书提供的答案是N(N-1)(N-2)/6。但是我不知道为什么,有人可以解释。

回答:

您可以手动执行此操作,但是WolframAlpha在此方面要好得多。

不难验证

( _N_ -1)( _N_ -2) = _N_ 2 - 3 _N_ + 2

以上是 在Java中的嵌套for循环中执行代码的次数 的全部内容, 来源链接: utcz.com/qa/419244.html

回到顶部