天天看点

《剑指Offer》刷题之最小的K个数

《剑指Offer》刷题之最小的K个数

我不知道将去向何方,但我已在路上!
时光匆匆,虽未曾谋面,却相遇于斯,实在是莫大的缘分,感谢您的到访 !
  • 题目:

    给定一个数组,找出其中最小的K个数。例如数组元素是4,5,1,6,2,7,3,8这8个数字,则最小的4个数字是1,2,3,4。如果K>数组的长度,那么返回一个空的数组

  • 示例:
示例 1 :
输入:[4,5,1,6,2,7,3,8],4
返回值:[1,2,3,4]
           
  • 代码1:
# -*- coding:utf-8 -*-
class Solution:
    def GetLeastNumbers_Solution(self, tinput, k):
        if k > len(tinput):
            return []
        tinput.sort()
        return tinput[:k]
           
  • 算法说明:

    判断k和数组的长度关系;

    数组排序,然后返回前k个元素。