2025年苏州大学预推免计算机学院保研机试真题
2025年苏州大学预推免计算机学院保研机试真题
简单介绍下信息,笔者是双非rank 3,参加的是苏大机试的第一批,2025-8-30下午1:00到4:00场(也就是刚刚),趁现在还记得题目,简单记录下这次机试内容。(更新中)
题目整体难度跟往年差不多,类型一致:
- 程序设计题:6道
- 数据结构题:2道
- 算法题:2道
题1:判断日期是否合法
给定范围1000年到2025年(闭区间),题目输入为year,month,day三个整数,请判断这个日期是否合法,是返回true, 否返回false。
热身题,注意下闰年的影响即可。
题2:返回“中位数”匹配的最大正整数
给定一个正整数数组arr,一个目标数字num,若数组中的正整数的“中位数”如果等于目标数字,则返回该整数,如果有多个匹配的结果,返回最大的数。
若正整数的位数是奇数,“中位数”就是中间的数字(如:123 -> 2)
若正整数的位数是偶数,“中位数”就是中间偏左的数字(如:1234 -> 2)
思路: 先把整数转String,再计算中位数下标,判断“中位数”与目标数值,符合的话就再判断是否需要更新最大值。
题3:连续数字提取
给一串字符串,提取其中的连续数字,对于连续数字组成的正整数,给定一个区间,返回符合该区间的正整数的最大值,最小值。
题4:判断质数
给定一个正整数,判断其是否包含相同数字且是否为质数,如果不包含相同数字且为质数,返回true,否则返回false
题5:寻找特定后缀的回文文件名
给定一串字符串,其中包含文件名(主文件名、辅文件名),给定目标后缀,找到后缀匹配的且主文件名是回文形式的文件名,返回该文件名,若有多个符合条件的结果,返回长度最长的文件名。
注意:在判断回文主文件名时,无视大小写,返回结果时需要区分大小写
题6:蛇形矩阵
题7:K个一组翻转链表
给你链表的头节点 head ,每 k 个节点一组进行翻转,请你返回修改后的链表。
k 是一个正整数,它的值小于或等于链表的长度。如果节点总数不是 k 的整数倍,那么请将最后剩余的节点保持原有顺序。
你不能只是单纯的改变节点内部的值,而是需要实际进行节点交换。
(苏大的题只是在这题的基础上加个头结点)原题:leetcode25K个一组翻转链表https://leetcode.cn/problems/reverse-nodes-in-k-group/?envType=study-plan-v2&envId=top-100-liked
题8:求二叉树第K层的度不为1的结点个数
题9:乘积最大的子数组
给你一个整数数组 nums ,请你找出数组中乘积最大的非空连续 子数组(该子数组中至少包含一个数字),并返回该子数组所对应的乘积。
测试示例 1:
输入: nums = [2,3,-2,4]
输出: 6
测试示例 2:
输入: nums = [-2,0,-1]
输出: 0
测试用例的答案是一个 32-位 整数。
原题:leet152.乘积最大的子数组https://leetcode.cn/problems/maximum-product-subarray/?envType=study-plan-v2&envId=top-100-liked
题10:募集捐款
有n个居民,第i个居民想捐的款为donates[i],志愿者会上门募集捐款,有一条规定,志愿者不能连续在两间相邻的房屋内收集捐款,请计算志愿者能够募集到捐款的最高金额。
原题:leetcode198.打家劫舍https://leetcode.cn/problems/house-robber/description/?envType=study-plan-v2&envId=top-100-liked