首页 > 试题广场 >

无序数组中最小的k个数

[编程题]无序数组中最小的k个数
  • 热度指数:9217 时间限制:C/C++ 3秒,其他语言6秒 空间限制:C/C++ 32M,其他语言64M
  • 算法知识视频讲解

对于一个无序数组,数组中元素为互不相同的整数,请返回其中最小的k个数,顺序与原数组中元素顺序一致。

给定一个整数数组A及它的大小n,同时给定k,请返回其中最小的k个数。

测试样例:
[1,2,4,3],4,2
返回:[1,2]
头像 重生之我要当分子
发表于 2025-01-01 14:08:21
解题思路 这是一个数组处理问题,需要找出数组中最小的 个数,并保持原数组中的相对顺序。 关键点: 不能直接排序,因为需要保持原数组顺序 可以使用临时数组存储原数组的副本并排序 找出第 小的数作为阈值 遍历原数组,保留小于等于阈值的前 个数 算法步骤: 复制原数组并排序,找到第 小的数 展开全文