题目编号
语言
全部语言
等级
全部等级
知识点
选择知识点 (0)
找到 1260 道单选题
EXY-SC-1215
第 286 题
小杨编写了一个如下的高精度乘法函数,则横线上应填写的代码为( )。
vector<int> multiply(vector<int>& a, vector<int>& b) {
    int m = a.size(), n = b.size();
    vector<int> c(m + n, 0);
 
    // 逐位相乘,逆序存储
    for (int i = 0; i < m; i++) {
        for (int j = 0; j < n; j++) {
            c[i + j] += a[i] * b[j];
        }
    }
 
    // 处理进位
    int carry = 0;
    for (int k = 0; k < c.size(); ++k) {
        _________________________  // 在此处填入代码
        c[k] = temp % 10;
        carry = temp / 10;
    }
 
    while (c.size() > 1 && c.back() == 0)
        c.pop_back();
    return c;
}
A
int temp = c[k];
B
int temp = c[k] + carry;
C
int temp = c[k] - carry;
D
int temp = c[k] * carry;
语言: C++
GESP真题 五级
2025.3
单选题号: 15
EXY-SC-1214
第 287 题
函数 int findMax(int arr[], int low, int high) 计算数组中最大元素,其中数组 arr 从索引 lowhigh,( )正确实现了分治逻辑。
A
if (low == high)
    return arr[low];
int mid = (low + high) / 2;
return arr[mid];
B
if (low >= high)
    return arr[low];
int mid = (low + high) / 2;
int leftMax = findMax(arr, low, mid - 1);
int rightMax = findMax(arr, mid, high);
return leftMax + rightMax;
C
if (low > high)
    return 0;
int mid = low + (high - low) / 2;
int leftMax = findMax(arr, low, mid);
int rightMax = findMax(arr, mid + 1, high);
return leftMax * rightMax;
D
if (low == high)
    return arr[low];
int mid = low + (high - low) / 2;
int leftMax = findMax(arr, low, mid);
int rightMax = findMax(arr, mid + 1, high);
return (leftMax > rightMax) ? leftMax : rightMax;
语言: C++
GESP真题 五级
2025.3
单选题号: 14
EXY-SC-1213
第 288 题
贪心算法的核心特征是( )。
A
总是选择当前最优解
B
回溯尝试所有可能
C
分阶段解决子问题
D
总能找到最优解
语言: C++
GESP真题 五级
2025.3
单选题号: 13
EXY-SC-1212
第 289 题
下面代码实现了二分查找算法,在数组 arr 找到目标元素 target 的位置,则横线上能填写的最佳代码是( )。
int binarySearch(int arr[], int left, int right, int target) {
    while (left <= right) {
        _________________________  // 在此处填入代码
 
        if (arr[mid] == target)
            return mid;
        else if (arr[mid] < target)
            left = mid + 1;
        else
            right = mid - 1;
    }
    return -1;
}
A
int mid = left + (right - left) / 2;
B
int mid = left;
C
int mid = (left + right) / 2;
D
int mid = right;
语言: C++
GESP真题 五级
2025.3
单选题号: 12
EXY-SC-1211
第 290 题
若用二分法在 $[1, 100]$ 内猜数,最多需要猜( )次。
A
100
B
10
C
7
D
5
语言: C++
GESP真题 五级
2025.3
单选题号: 11
当前页显示 286 - 290 ,共 1260 道单选题