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

发布于 2021-01-30 16:05:16

我最近正在阅读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。但是我不知道为什么,有人可以解释。

关注者
0
被浏览
77
1 个回答
  • 面试哥
    面试哥 2021-01-30
    为面试而生,有面试问题,就找面试哥。

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

    不难验证

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


知识点
面圈网VIP题库

面圈网VIP题库全新上线,海量真题题库资源。 90大类考试,超10万份考试真题开放下载啦

去下载看看