硕士机试题及详细答案.docxVIP

  • 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)

1亿VIP精品文档

相关文档