尋找第k大_牛客網
有乙個整數陣列,請你根據快速排序的思路,找出陣列中第k大的數。
給定乙個整數陣列a,同時給定它的大小n和要找的k
(k在1到n之間),請返回第k大的數,保證答案存在。
示例1輸入[1
,3,5
,2,2
],5,
3返回值
2
和這篇部落格思路類似
牛客網 | 高頻面試題 | 最小的k個數_我是一塊小石頭-csdn部落格
k輪氣泡排序~即可
class
finder
; vector<
int> res;
int j=
0,i=0;
for(i=
0;i++i)}}
return input[j];}
};
主體思路就是利用快速排序每次能將比某個哨兵小的數放在左側,大的數放在右側
class
finder
intquickfind
(vector<
int>
& a,
int left,
int right,
int k)
a[i]
= mark;
//哨兵右側比他大的數字個數
int big_num = right - i;
//如果哨兵剛好是第k大的數
if(k - big_num -1==
0)return mark;
else
if(k - big_num -
1>0)
else}}
;
牛客網刷題 尋找第K大
有乙個整數陣列,請你根據快速排序的思路,找出陣列中第k大的數。給定乙個整數陣列a,同時給定它的大小n和要找的k k在1到n之間 請返回第k大的數,保證答案存在。輸入描述 輸入乙個陣列 陣列長度 k大 輸出描述 輸出k大座標 輸入 1,3,5,2,2 5,3 輸出 2本題與之前的最小的k個數思路相類似...
牛客網 高頻面試題 樹的直徑
樹的直徑 牛客網 題目描述 給定一棵樹,求出這棵樹的直徑,即樹上最遠兩點的距離。示例1的樹如下圖所示。其中4到5之間的路徑最長,是樹的直徑,距離為5 2 4 11 示例1輸入 複製6,0,1 1,5 1,2 2,3 2,4 3,4,2,1,5 返回值複製 11先遍歷樹,構建乙個無向圖 後序遍歷更新樹...
牛客網(面試題)
每年六一兒童節,牛客都會準備一些小禮物去看望孤兒院的小朋友,今年亦是如此。hf作為牛客的資深元老,自然也準備了一些小遊戲。其中,有個遊戲是這樣的 首先,讓小朋友們圍成乙個大圈。然後,他隨機指定乙個數m,讓編號為0的小朋友開始報數。每次喊到m 1的那個小朋友要出列唱首歌,然後可以在禮品箱中任意的挑選禮...