2025年中国科学技术大学计算机考研复试机试真题
本文整理中国科学技术大学计算机考研机试真题,并提供详细解析与代码实现,帮助同学们了解保研机试的难度与题型分
数字转换为十六进制数
题目描述
给定一个整数,编写一个算法将这个数转换为 $十六进制$ 数。
对于负整数,我们通常使用 $补码运算$ 方法。
答案字符串中的所有字母都应该是小写字符,并且除了 $0$ 本身之外,答案中不应该有任何前置零。
注意: 不允许使用任何由库提供的将数字直接转换或格式化为 $十六进制$ 的方法来解决这个问题。
输入格式
输入一个数 $num$,$-2^{31} \leq num \leq 2^{31} - 1$
输出格式
输出结果
输入样例
26
输出样例
1a
岛屿数量
题目描述
给你一个由 $'1'$(陆地)和 $'0'$(水)组成的的二维网格,请你计算网格中岛屿的数量。
岛屿总是被水包围,并且每座岛屿只能由水平方向和 $/$ 或竖直方向上相邻的陆地连接形成。
此外,你可以假设该网格的四条边均被水包围。
输入格式
给你一个 $m \times n$ 的二维网格
$m == \text{grid.length}$
$n == \text{grid}[i].\text{length}$
$1 <= m, n <= 300$
$\text{grid}[i][j]$ 的值为 $'0'$ 或 $'1'$
输出格式
计算网格中岛屿的数量
输入样例
4 5
1 1 1 1 0
1 1 0 1 0
1 1 0 0 0
0 0 0 0 0
输出样例
1
最长连续递增序列
题目描述
给定一个未经排序的整数数组,找到最长且连续递增的子序列,并返回该序列的长度。
连续递增的子序列可以由两个下标 $l$ 和 $r$ ($l < r$)确定,如果对于每个 $l \leq i < r$,都有 $nums[i] < nums[i + 1]$ ,那么子序列 $[nums[l], nums[l + 1], ..., nums[r - 1], nums[r]]$ 就是连续递增子序列。
输入格式
第一行输入一个整数 $n$ 表示数组的长度
第二行输入 $n$ 个数 $nums[i]$
$1 \leq n \leq 10^4$
$-10^9 \leq nums[i] \leq 10^9$
输出格式
输出最长连续递增子序列长度
输入样例
5
1 3 5 4 7
输出样例
3
让字符串成为回文串的最少插入次数
题目描述
给你一个字符串 $ s $ ,每一次操作你都可以在字符串的任意位置插入任意字符。
请你返回让 $ s $ 成为回文串的 最少操作次数 。
回文串是正读和反读都相同的字符串。
输入格式
有多组测试数据
$ 1 \leq s.length \leq 500 $
$ s $ 中所有字符都是小写字母。
输出格式
如题
输入样例
zzazz
mbadm
输出样例
0
2
最大公约数
题目描述
读入 $n$ 个正整数,求出这 $n$ 个数的最小值、最大值以及它们两的最大公约数,并输出。
输入中第一行为 $n$,接下来为 $n$ 个大于零的整数。
输入格式
第一行为 $n$。
第二行是 $n$ 个大于零的整数,用空格隔开。
输出格式
分别输出最小值、最大值和它们两的最大公约数,用空格隔开。
输入样例
3
4 8 6
输出样例
4 8 4