剑指offer: 面试题40. 最小的k个数

题目:最小的k个数

入整数数组 arr ,找出其中最小的 k 个数。例如,输入4、5、1、6、2、7、3、8这8个数字,则最小的4个数字是1、2、3、4。

示例 1:

输入:arr = [3,2,1], k = 2
输出:[1,2] 或者 [2,1]

示例 2:

输入:arr = [0,1,2,1], k = 1
输出:[0]

限制:

  • 0 <= k <= arr.length <= 10000
  • 0 <= arr[i] <= 10000

解题:

class Solution {
public:
   		vector<int> getLeastNumbers(vector<int>& arr, int k) {
       	sort(arr.begin(),arr.end());
       	vector<int> result;
       	for(int i=0;i<k;i++)
       	{
       	    result.push_back(arr[i]);
       	}
       	return result;
    }
};
//利用STL sort快排 然后输出前k个数
发布了106 篇原创文章 · 获赞 113 · 访问量 14万+

猜你喜欢

转载自blog.csdn.net/qq_41598072/article/details/104642454
今日推荐