第22647题 单选题
下列记忆化实现组合数计算的C++程序的时间复杂度是多少?
int record_choose[MAXN][MAXM];
int choose(int n, int m) {
    if (m == 0 || m == n)
        return 1;
    if (record_choose[n][m] == 0)
        record_choose[n][m] = choose(n - 1, m - 1) + choose(n - 1, m);
    return record_choose[n][m];
}
A

$O(2^n)$

B

$O(2^m \times (n-m))$

C

$O(C(n,m))$

D

$O(m \times (n-m))$

程序运行统计
暂无判题统计