int climbStairs(int n) {
if (n <= 2) return n;
int prev2 = 1;
int prev1 = 2;
int current = 0;
for (int i = 3; i <= n; ++i) {
________________ // ÔÚ´Ë´¦ÌîÈë´úÂë
}
return current;
}
2分
登录后查看选项
14
假设有一个班级的成绩单,存储在一个长度为 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++;
}
}
}
}
2分
登录后查看选项
15
关于异常处理,以下说法错误的是( )。
2分
登录后查看选项
判断题 共10道
16
以下代码能正确初始化指针。
int a = 5;
int *p = a;
2分
登录后查看选项
17
执行下面C++代码将输出 11 。
int x = 10;
void f() {
int x = x + 1;
cout << x << endl;
}
int main() {
f();
}
2分
登录后查看选项
18
以下C++代码合法。
struct Student {
string name;
int age;
float score;
};
Student* students = new Student[20];
2分
登录后查看选项
19
执行下面C++代码将输出 10 。
void func(int* p) {
*p = 10;
}
int main() {
int a = 5;
func(&a);
cout << a << endl;
return 0;
}
2分
登录后查看选项
20
下面代码将二维数组 arr 传递给函数 f ,函数内部用 arr[i][j] 访问元素,函数参数声明为 int arr[][4] 是错误的。
void f(int arr[][4], int rows) {
// 访问 arr[i][j]
}
int main() {
int arr[3][4] = { /* 初始化 */ };
f(arr, 3);
}