無序陣列中最小的k個數

2021-07-26 20:38:34 字數 527 閱讀 2166

對於乙個無序陣列,陣列中元素為互不相同的整數,請返回其中最小的k個數,順序與原陣列中元素順序一致。

給定乙個整數陣列a及它的大小n,同時給定k,請返回其中最小的k個數。

測試樣例:

[1,2,4,3],4,2
返回:[1,2]

簡單題

# -*- coding:utf-8 -*-

class kthnumbers:

def findkthnumbers(self, a, n, k):

# write code here

newa = sorted(a)

st = newa[:k]

li =

for x in a:

if x in st:

return li

if __name__ == "__main__":

a = kthnumbers()

print a.findkthnumbers([2,1,4,3],4,2)

找到無序陣列中最小的k個數

找到無序陣列中最小的k個數 給定乙個整型陣列arr,找到其中最小的k個數。輸入描述 輸入包含兩行,第一行包含兩個整數n和k 1 k n 105 1 leq k leq n leq 10 5 1 k n 105 代表陣列arr的長度,第二行包含n個整數,代表陣列arr 1 a rri 109 arr ...

8 4找到無序陣列中最小的k個數

題目 給定乙個無序的整型陣列arr,找到其中最小的k個數。時間複雜度至少為o nlogk 實現public int getminknumsbyheap int arr,int k int kheap newint k 代表目前被選出的k個最小的數 for int i 0 i k i for int ...

陣列與矩陣 找到無序陣列中最小的k個數

題目 給定乙個無序的整型陣列arr,找到其中最小的k個數。要求 如果陣列arr的長度為n,排序之後自然可以得到最小的k個數,此時時間複雜度與排序演算法的時間複雜度相同,為o nlogn 本題要求讀者實現時間複雜度為o nlogk 和o n 的方法。基本思路 o nlogk 的方法。思路很簡單,就是一...