劍指offer 29最小的k個數 Python

2021-10-06 15:25:37 字數 706 閱讀 3592

【題目】輸入n個整數,找出其中最小的k個數。例如輸入4,5,1,6,2,7,3,8這8個數字,則最小的4個數字是1,2,3,4,。

【思路】主要考查的是排序演算法,先將陣列公升序排序,取出前k個即可,注意邊界條件。

【**】

class

solution

:def

getleastnumbers_solution

(self, tinput, k)

:# write code here

if tinput ==

none

or k ==

none

or k >

len(tinput)

:return

for i in

range

(len

(tinput)):

for j in

range

(len

(tinput)

-i-1):

if tinput[j]

> tinput[j+1]

: temp = tinput[j]

tinput[j]

= tinput[j+1]

tinput[j+1]

= temp

return tinput[

:k]

劍指Offer (29)最小的k個數

題目描述 輸入n個整數,找出其中最小的k個數。例如輸入4,5,1,6,2,7,3,8這8個數字,則最小的4個數字是1,2,3,4。實現如下 測試用例中給出的返回值是有序的。嘖嘖。找到序列中最小的k個數,利用set,對數字進行insert或erase 紅黑樹中查詢 插入 刪除操作都為 o logk 最...

劍指offer 29 最小的K個數

題目 輸入n個整數,找出其中最小的k個數。例如輸入4,5,1,6,2,7,3,8這8個數字,則最小的4個數字是1,2,3,4,思路分析 簡單思路 先快排,再取數 coding utf 8 class solution def getleastnumbers solution self,tinput,...

劍指offer 29 最小的K個數

輸入n個整數,找出其中最小的k個數。例如輸入4,5,1,6,2,7,3,8這8個數字,則最小的4個數字是1,2,3,4。最簡單容易想到的就是先排序,然後輸出前k個數即可。但是這樣明顯時間複雜度比較高。也可以使用另外的方法,具體不再詳述。class solution for int i 0 i inp...