20200806 快速排序

2022-05-17 10:32:52 字數 1043 閱讀 3756

模板

#include #define rg register int

#define rep(i,a,b) for(rg i=a;i<=b;++i)

#define per(i,a,b) for(rg i=a;i>=b;--i)

#define ll long long

#define inf (1<<29)

#define make_pair mp

const

int maxn=5e6+5

;using

namespace

std;

inline

intread()

while(c>='

0'&&c<='9')

return x*f;

}int

a[maxn],k;

void qsort(int p,int

q) }

while(i<=j);

if(iif(j>p) qsort(p,j);

}int

main()

//nth_element(a+1,a+k+1,a+n+1);

random_shuffle(a,a+k);

qsort(

0,k-1

);

//coutreturn0;

}

求第k大的數

小聲嗶嗶:這題目居然不考慮相同的數字,簡直了

***********************************分割線***********************************

void qsort(int l,int r)

}while(i<=j);

//快排後陣列被劃分為三塊: l<=j<=i<=r

if(k<=j) qsort(l,j);//在左區間只需要搜左區間

else if(i<=k) qsort(i,r);//在右區間只需要搜右區間

else //如果在中間區間直接輸出

}

刷題筆記 2020 08 06

請實現乙個函式用來找出字元流中第乙個只出現一次的字元。例如,當從字元流中只讀出前兩個字元 go 時,第乙個只出現一次的字元是 g 當從該字元流中讀出前六個字元 google 時,第乙個只出現一次的字元是 l 如果當前字元流沒有存在出現一次的字元,返回 字元。分析 使用unordered map 底層...

2020 08 06 京東筆試題

題目描述 x星人的基因由a b c d e五種不同的結構組合而成。如果兩個性別不同的x星人的基因序列相似度大於50 按照x星的法律他們是禁止結婚的,等於50 據說還是可以的。那麼基因的相似度怎麼計算呢?分別從兩個人身上取長度均為n的基因片段,如果它們的最長公共子串行 注意,最長公共子串行不需要連續 ...

遞迴 快速排序 快速排序

問題描述 用遞迴來實現快速排序 quick sort 演算法。快速排序演算法的基本思路是 假設要對乙個陣列a進行排序,且a 0 x。首先對陣列中的元素進行調整,使x放在正確的位置上。同時,所有比x小的數都位於它的左邊,所有比x大的數都位於它的右邊。然後對於左 右兩段區域,遞迴地呼叫快速排序演算法來進...