- 5
- 0
- 约1.23万字
- 约 16页
- 2026-04-19 发布于河北
- 举报
硕士机试题及详细答案
说明
试题一:数组去重与排序(基础题,15分)
题干
给定一个长度为n的整数数组(n≤1000),数组元素可重复,要求:1.去除数组中的重复元素,保留第一次出现的元素;2.将去重后的数组按升序排序;3.输出排序后的数组。
示例输入:[1,3,2,3,1,4,2,5]
示例输出:[1,2,3,4,5]
详细答案
一、题干分析
核心需求是“去重+排序”,关键点在于“保留第一次出现的元素”,避免去重时误删首次出现的元素;数组长度较小(n≤1000),无需考虑时间复杂度优化,优先保证代码简洁、逻辑清晰,贴合机试快速解题需求。
二、解题思路
1.去重:遍历原数组,用一个临时数组存储已出现的元素,对于当前遍历到的元素,判断是否在临时数组中,若不在则加入,若在则跳过(实现“保留首次出现”);
2.排序:对去重后的临时数组,采用简单的冒泡排序(适合小数据量,代码易写,机试中无需过度追求高效排序);
3.输出:遍历排序后的数组,按要求格式输出。
三、代码实现
c
#includestdio.h
//去重函数:返回去重后的数组长度
intremoveDuplicates(intarr[],intn,intres[]){
intlen=0;//记录去重后数组的长度
for(inti=0;i
原创力文档

文档评论(0)