题目编号
语言
全部语言
等级
全部等级
知识点
选择知识点 (0)
找到 1260 道单选题
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);
}
A

gcd(24, 36)gcd(24, 12)gcd(12, 0)

B

gcd(24, 36)gcd(12, 24)gcd(0, 12)

C

gcd(24, 36)gcd(24, 12)

D

gcd(24, 36)gcd(12, 24)

语言: 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);
}
A
两个函数的实现的功能相同。
B
fibA 采用递推方式。
C
fibB 采用的是递归方式。
D
fibA 时间复杂度为 $O(n)$,fibB 的时间复杂度为 $O(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;
}
A

dummyHead->next = head; cur = dummyHead;

B

dummyHead->next = head->next; cur = dummyHead;

C

dummyHead->next = head; cur = dummyHead->next;

D

dummyHead->next = head->next; cur = dummyHead->next;

语言: C++
GESP真题 五级
2024.12
单选题号: 3
EXY-SC-1142
第 359 题
在循环单链表中,节点的 next 指针指向下一个节点,最后一个节点的 next 指针指向( )。
A
当前节点
B
nullptr
C
第一个节点
D
上一个节点
语言: C++
GESP真题 五级
2024.12
单选题号: 2
EXY-SC-1141
第 360 题
下面关于链表和数组的描述,错误的是( )。
A
当数据数量不确定时,为了应对各种可能的情况,需要申请一个较大的数组,可能浪费空间;此时用链表比较合适,大小可动态调整。
B
在链表中访问节点的效率较低,时间复杂度为 $O(n)$。
C
链表插入和删除元素效率较低,时间复杂度为 $O(n)$。
D
链表的节点在内存中是分散存储的,通过指针连在一起。
语言: C++
GESP真题 五级
2024.12
单选题号: 1
当前页显示 356 - 360 ,共 1260 道单选题