EXY-SC-1145
第 356 题
两块长方形土地的长宽分别为 $24$ 和 $36$ 米,要将它们分成正方形的小块,使得正方形的尺寸尽可能大。小杨采用如下的辗转相除函数 gcd(24, 36) 来求正方形分块的边长,则函数 gcd 调用顺序为( )。
int gcd(int a, int b) {
int big = a > b ? a : b;
int small = a < b ? a : b;
if (big % small == 0) {
return small;
}
return gcd(small, big % small);
}
语言:
C++
GESP真题
五级
2024.12
单选题号:
5
EXY-SC-1144
第 357 题
对下面两个函数,说法错误的是( )。
int fibA(int n) {
if (n <= 1) return n;
int f1 = 0, f2 = 1;
for (int i = 2; i <= n; ++i) {
int temp = f2;
f2 = f1 + f2;
f1 = temp;
}
return f2;
}
int fibB(int n) {
if (n <= 1) return n;
return fibB(n - 1) + fibB(n - 2);
}
语言:
C++
GESP真题
五级
2024.12
单选题号:
4
EXY-SC-1143
第 358 题
为了方便链表的增删操作,一些算法生成一个虚拟头节点,方便统一删除头节点和其他节点。下面代码实现了删除链表中值为 val 的节点,横线上应填的最佳代码是( )。
struct ListNode {
int val;
ListNode* next;
ListNode(int val):val(val), next(nullptr){}
};
void removeElements(ListNode* head, int val) {
if (head == nullptr) {
return;
}
ListNode* cur;
ListNode* dummyHead = new ListNode(0); //虚拟头节点
________________________________ // 在此处填入代码
while(cur ->next != nullptr) {
if(cur->next->val == val) {
ListNode* tmp = cur->next;
cur->next = cur->next->next;
delete tmp;
tmp = nullptr;
}
else {
cur = cur ->next;
}
}
head = dummyHead->next;
delete dummyHead;
dummyHead = nullptr;
}
语言:
C++
GESP真题
五级
2024.12
单选题号:
3
EXY-SC-1142
第 359 题
在循环单链表中,节点的
next 指针指向下一个节点,最后一个节点的 next 指针指向( )。
语言:
C++
GESP真题
五级
2024.12
单选题号:
2
EXY-SC-1141
第 360 题
下面关于链表和数组的描述,错误的是( )。
语言:
C++
GESP真题
五级
2024.12
单选题号:
1
当前页显示 356 - 360
,共 1260 道单选题