第23513题
给定实现三数和计数的三重循环C++代码,其时间复杂度是多少?

假设有一个班级的成绩单,存储在一个长度为 n 的数组 scores 中,每个元素是一个学生的分数。老师想要找出所有满足 scores[i] + scores[j] + scores[k] == 300 的三元组,其中 i < j < k。实现该功能的代码如下:

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 (scores[i] + scores[j] + scores[k] == 300) {
                cnt++;
            }
        }
    }
}
A

O(n)

B

O(n²)

C

O(n³)

D

O(2ⁿ)

提交0次 正确率0.00%
答案解析