EXY-SC-1455
第 46 题
高精度减法中,假设两个高精度数按低位在前存储,且已经保证被减数不小于减数。下面处理借位逻辑代码中横线处应填入( )。
if (a[i] < b[i]) {
a[i + 1]--;
________________;
}
t = a[i] - b[i];
语言:
C++
GESP真题
五级
2026.6
单选题号:
15
EXY-SC-1454
第 47 题
小杨在学校义卖会上负责打包“零食盲盒”。每个盲盒重量不同,快递盒最多承重 limit 克,每个快递盒最多装两个盲盒。为了尽量少用快递盒,他采用如下策略:
(1)每次把最轻的盲盒和最重的盲盒尝试放在一起;
(2)如果两者重量之和不超过 limit,就一起装;
(3)否则,只能让最重的盲盒单独装一盒。
下面代码用于计算最少需要多少个快递盒,则横线处应填入的是( )。
int minBoxes(vector<int>& w, int limit) {
sort(w.begin(), w.end());
int l = 0, r = w.size() - 1;
int boxes = 0;
while (l <= r) {
if (w[l] + w[r] <= limit) {
__________; // 在此处填入代码
} else {
r--;
}
boxes++;
}
return boxes;
}
语言:
C++
GESP真题
五级
2026.6
单选题号:
14
EXY-SC-1453
第 48 题
在对长度为 $n$($n≥1$)的数组进行归并排序的过程中,
mergeArray 函数(合并两个有序子数组的操作)被调用的次数是( )。const int MAXN = 100005;
int a[MAXN];
int tempArr[MAXN];
void mergeArray(int left, int mid, int right) {
int i = left; // 左半部分起点
int j = mid + 1; // 右半部分起点
int k = left; // 临时数组下标
while (i <= mid && j <= right) {
if (a[i] <= a[j]) {
tempArr[k++] = a[i++];
} else {
tempArr[k++] = a[j++];
}
}
while (i <= mid) {
tempArr[k++] = a[i++];
}
while (j <= right) {
tempArr[k++] = a[j++];
}
for (int p = left; p <= right; p++) {
a[p] = tempArr[p];
}
}
void mergeSort(int left, int right) {
if (left >= right) {
return;
}
int mid = left + (right - left) / 2;
mergeSort(left, mid);
mergeSort(mid + 1, right);
mergeArray(left, mid, right);
}
语言:
C++
GESP真题
五级
2026.6
单选题号:
13
EXY-SC-1452
第 49 题
下面哪句话最符合归并排序的思想?( )
语言:
C++
GESP真题
五级
2026.6
单选题号:
12
EXY-SC-1451
第 50 题
下面代码段实现了快速排序的划分操作(以首元素为基准),横线处代码应填入( )。
int partition(vector<int>& arr, int low, int high) {
int pivot = arr[low];
int i = low, j = high;
while (i < j) {
while (i < j && arr[j] >= pivot) j--;
while (i < j && arr[i] <= pivot) i++;
if (i < j) swap(arr[i], arr[j]);
}
________________; // 在此处填入代码
return i;
}
语言:
C++
GESP真题
五级
2026.6
单选题号:
11
当前页显示 46 - 50
,共 1260 道单选题