2025年同济大学计算机考研复试机试真题 - PGCode考研平台

最后更新:2025-12-08

2025年同济大学计算机考研复试机试真题

本文整理同济大学计算机考研机试真题,并提供详细解析与代码实现,帮助同学们了解保研机试的难度与题型分

二分查找的最大次数

题目描述

这里是一个在排序好的数组 ${A}$(从小到大)中查找整数 ${X}$ 的函数,返回值是查找次数。

int binarySearch(int a[], int n, int x) //数组,数组大小,查找的数据
{
    int cnt = 0;
    int L = 0, R = n - 1, mid;
    while (true)
    {
        cnt++;
        mid = (L + R) / 2;
        if (a[mid] == x) return cnt;
        else if (x < a[mid]) R = mid;
        else L = mid + 1;
    }
    return cnt; //查找失败
}

现在的问题是,数组 ${a}$ 中某些数据损坏了,我们只知道数组中的一部分数据和数组的大小 ${N}$,我们想知道查找整数 ${X}$ 最大的可能的查找次数,我们假设数组中每个数都不相同,且 ${X}$ 一定出现在原数组中,${a}$ 在被损坏前是已经排好序的。

输入格式

多组测试数据,每组第一行是数组大小 ${N}$(${1<=N<=100000}$),第二行是这个数组的数,这个数组都是正数,${-1}$ 表示这个数据被损坏。第三行是查找的正整数 ${X}$。数据都在 ${32}$ 位以内。

输出格式

${X}$ 的最大查找次数。

输入样例

5
1 2 3 4 5
3
5
1 -1 -1 -1 5
3
5
-1 -1 -1 -1 -1
3

输出样例

1
2
3

字符串对齐

题目描述

给你多个字符串,要求你将所有字符串按照某个字母对齐。

输入格式

第一行输入一个 ${n}$(${n < 100}$)

接下来输入 ${n}$ 行字符串

最后输入一个对齐字母

输出格式

按题意要求输出

输入样例

3
xyz
asdaxais
agcdbegxfgf
x

输出样例

_______xyz
___asdaxais
agcdbegxfgf

完整题目及在线评测:https://www.pgcode.cn/