zoukankan      html  css  js  c++  java
  • 最小的K个数 牛客网 剑指Offer

    最小的K个数 牛客网 剑指Offer

    • 题目描述
    • 输入n个整数,找出其中最小的K个数。例如输入4,5,1,6,2,7,3,8这8个数字,则最小的4个数字是1,2,3,4,。
    class Solution:
        #run:33ms memory:5732k
        def GetLeastNumbers_Solution(self, tinput, k):
            if tinput == None or len(tinput) < k or len(tinput) <= 0 or k <=0:
                return []
            list_size = len(tinput)
            start = 0
            end = list_size - 1
            index = self.QuickSelect(tinput, list_size, start, end)
            while index != k-1:
                if index > k-1:
                    end = index - 1
                    index = self.QuickSelect(tinput, list_size, start, end)
                else:
                    start = index + 1
                    index = self.QuickSelect(tinput, list_size, start, end)
            output = tinput[:k]
            output.sort()
            return output
        
        def QuickSelect(self,numbers,length,start,end):
            if numbers == None or length <= 0 or start < 0 or end >= length:
                return None
            if end == start:
                return end
            pivotvlue = numbers[start]
            leftmark = start + 1
            rightmark = end
            while True:
                while numbers[leftmark] <= pivotvlue and leftmark <= rightmark:
                    leftmark += 1
                while numbers[rightmark] >= pivotvlue and rightmark >= leftmark:
                    rightmark -= 1
                if leftmark >= rightmark:
                    break
                else:
                    numbers[leftmark], numbers[rightmark] = numbers[rightmark], numbers[leftmark]
            numbers[rightmark], numbers[start] = numbers[start], numbers[rightmark]
            return rightmark
  • 相关阅读:
    进程提权小结
    进程工作集WorkingSet (PSAPI 01)
    GetSystemInfo 和 GlobalMemoryStatus获取系统信息,内存信息
    C++11智能指针 share_ptr,unique_ptr,weak_ptr用法
    结构体及类对象的内存对齐
    菱形继承问题和虚继承
    TLS反调试
    获取程序目录,模块路径
    docker install for centos7
    docker镜像与容器概念
  • 原文地址:https://www.cnblogs.com/vercont/p/10210368.html
Copyright © 2011-2022 走看看