題目描述:
查詢乙個陣列的第k小的數,注意同樣大小算一樣大。
如 2 1 3 4 5 2 第三小數為3。
輸入:
輸入有多組資料。
每組輸入n,然後輸入n個整數(1<=n<=1000),再輸入k。
輸出:
輸出第k小的整數。
樣例輸入:
6 2 1 3 5 2 2
3 樣例輸出:
3 **:
void swap(int* e1,int* e2);
int searchk(int arry,int n,int k);
void quicksort(int arry,int left,int right);
//找出第k小的數
void main()
quicksort(arry,left,l-1);
quicksort(arry,r+1,right);
}void swap(int* e1,int* e2)
找出第k大的數
問題 從乙個陣列裡面,找出第k大的數。題目很簡單,要想把第k個數找出來,其實也挺容易的。第一種方法 無非就是先排序,比如用merge sort演算法,整個演算法複雜度為 o nlgn 然後找到第k個即可。第二種方法 如果k很小,比如第五個最大的數,而整個陣列的長度非常的大,那麼,還有一種方法就是,我...
找出第k大的數
描述 使用者輸入n和k,然後接著輸入n個正整數 無序的 程式在不對n個整數排序的情況下,找出第k大的數。注意,第k大的數意味著從大到小排在第k位的數。輸入 n ka1 a2 a3 a4 an輸出 b輸入示例 5 232 3 12 5 89輸出示例 32提示 這是一道很經典的演算法問題,是公司面試的常...
第k小的數
輸入n個整數和乙個正整數k 1 k n 輸出這些整數從小到大排序後的第k個 思路1 最容易想到的方法 先對這個序列從小到大排序,然後輸出前面的最小的k個數即可。如果選擇快速排序法來進行排序,則時間複雜度 o n logn class solution 時間複雜度o nlogn 思路2 在思路1的基礎...