最小的k个数

剑指offer 最小的k个数

  • 问题描述
  • C++代码实现
  • python2代码实现

问题描述

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

来源:牛客网
链接:https://www.nowcoder.com/practice/6a296eb82cf844ca8539b57c23e6e9bf?tpId=13&tqId=11182&rp=1&ru=/activity/oj&qru=/ta/coding-interviews/question-ranking

C++代码实现

思路:排序

class Solution {
public:
    vector<int> GetLeastNumbers_Solution(vector<int> input, int k) {
        vector<int> res;
        if (k == 0 || k > input.size())
            return res;
        sort(input.begin(), input.end());
        return vector<int>({input.begin(), input.begin()+k});
    }
};

python2代码实现

# -*- coding:utf-8 -*-
class Solution:
    def GetLeastNumbers_Solution(self, tinput, k):
        # write code here
        res = []
        if k == 0 or k > len(tinput):
            return res
        tinput.sort()
        return tinput[:k]

你可能感兴趣的:(剑指offer)