第5題 查詢最小的K個元素

2022-09-08 10:09:10 字數 912 閱讀 4728

第5題:輸入n個整數,輸出其中最小的k個。(陣列)

例如輸入1,2,3,4,5,6,7,8 這8個數字,則最小的4個數字為1,2,3,4

此處就是排序——氣泡排序、快排、選擇排序等,擇一進行修改應該就可以了。

**:

package test005;

/** * created by cq on 2015/3/30.

* 第5題:輸入n個整數,輸出其中最小的k個。(陣列)

* 例如輸入1,2,3,4,5,6,7,8 這8個數字,則最小的4個數字為1,2,3,4

*/public

class

findkmin

}//將第i小的值交換到陣列的位置i

if (iminindex != i)}}

//列印陣列前k個元素

public

static

void

printkvalue(int arr, int k)

}public

static

void

main(string args);

findkmin.findkmin(arr,4);

findkmin.printkvalue(arr,4);

}}

執行結果:

connected to

the target vm, address: '127.0.0.1:62070', transport: 'socket'

disconnected from

the target vm, address: '127.0.0.1:62070', transport: 'socket'24

67 process finished with exit code 0

5 查詢最小的k個元素

題目 輸入n個整數,輸出其中最小的k個。例如輸入1,2,3,4,5,6,7和8這8個數字,則最小的4個數字為1,2,3和4。分析 這道題最簡單的思路莫過於把輸入的n個整數排序,這樣排在最前面的k個數就是最小的k個數。只是這種思路的時間複雜度為o nlogn 我們試著尋找更快的解決思路。我們可以開闢乙...

微軟面試一百題之5 查詢最小的 k 個元素

5.查詢最小的 k 個元素 題目 輸入 n 個整數,輸出其中最小的 k 個。例如輸入1,2,3,4,5,6,7 和8 這8 個數字,則最小的4 個數字為1,2,3 和4。基本思路 使用堆排序基本思想,對堆排序做小小修改,在堆排序的演算法中增加乙個變數k,表示只需要最小的k個數。那麼意味著在最初的小根...

查詢最小的k個元素

題目 輸入n個整數,輸出其中最小的k個。演算法思想,要是將n個數排序然後輸出前k個,方法很簡單,但計算量比較大,為o nlogn 要是新建乙個有k個元素陣列,在陣列不滿時,將每乙個輸入的資料存入陣列。若陣列滿了,則比較輸入的資料與陣列中最大元素的大小,來決定接下來幹什麼,接下來幹什麼,我語言表達能力...