1045 快速排序(25)(25 分)

著名的快速排序算法里有一個(gè)經(jīng)典的劃分過(guò)程:我們通常采用某種方法取一個(gè)元素作為主元宝剖,通過(guò)交換憔鬼,把比主元小的元素放到它的左邊躁倒,比主元大的元素放到它的右邊。 給定劃分后的N個(gè)互不相同的正整數(shù)的排列粪般,請(qǐng)問(wèn)有多少個(gè)元素可能是劃分前選取的主元?
例如給定N = 5, 排列是1污桦、3亩歹、2、4凡橱、5小作。則:
1的左邊沒(méi)有元素,右邊的元素都比它大梭纹,所以它可能是主元躲惰;
盡管3的左邊元素都比它小,但是它右邊的2它小变抽,所以它不能是主元础拨;
盡管2的右邊元素都比它大,但其左邊的3比它大绍载,所以它不能是主元诡宗;
類(lèi)似原因,4和5都可能是主元击儡。
因此塔沃,有3個(gè)元素可能是主元。

#include <iostream>
#include <algorithm>
using namespace std;
int main() {
    int a[100001], b[100001],c[100001];
    int n,cnt = 0;
    scanf("%d", &n);
    for (int i = 0; i < n; i++) {
        scanf("%d", &a[i]);
        b[i] = a[i];
    }
    sort(a, a + n);
    int max=-1;
    for (int i = 0; i < n; i++) {
        if(a[i] == b[i]&&b[i]>max)
            c[cnt++] = b[i]; 
        if(b[i]>max)
            max=b[i];   
    }
    printf("%d\n", cnt);
    for(int i = 0; i < cnt; i++) {
        if (i != 0) printf(" ");
        printf("%d", c[i]);
    }
    printf("\n");
}

主元的位置一定是數(shù)組排序好之后的位置阳谍,至于它之前之后的元素蛀柴,只需要知道它前面的一定小于它螃概,后面的一定大于它。確定好位置以及它大于前面的任意元素鸽疾,它就一定大于后面的任意元素吊洼,因?yàn)槭琼樞虮闅v,所以只要確定每次后移之后前面元素的最大值

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末制肮,一起剝皮案震驚了整個(gè)濱河市冒窍,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌豺鼻,老刑警劉巖综液,帶你破解...
    沈念sama閱讀 206,378評(píng)論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異儒飒,居然都是意外死亡谬莹,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,356評(píng)論 2 382
  • 文/潘曉璐 我一進(jìn)店門(mén)约素,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)届良,“玉大人,你說(shuō)我怎么就攤上這事圣猎∈亢” “怎么了?”我有些...
    開(kāi)封第一講書(shū)人閱讀 152,702評(píng)論 0 342
  • 文/不壞的土叔 我叫張陵送悔,是天一觀的道長(zhǎng)慢显。 經(jīng)常有香客問(wèn)我,道長(zhǎng)欠啤,這世上最難降的妖魔是什么荚藻? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 55,259評(píng)論 1 279
  • 正文 為了忘掉前任,我火速辦了婚禮洁段,結(jié)果婚禮上应狱,老公的妹妹穿的比我還像新娘。我一直安慰自己祠丝,他們只是感情好疾呻,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,263評(píng)論 5 371
  • 文/花漫 我一把揭開(kāi)白布。 她就那樣靜靜地躺著写半,像睡著了一般岸蜗。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上叠蝇,一...
    開(kāi)封第一講書(shū)人閱讀 49,036評(píng)論 1 285
  • 那天璃岳,我揣著相機(jī)與錄音,去河邊找鬼。 笑死铃慷,一個(gè)胖子當(dāng)著我的面吹牛单芜,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播枚冗,決...
    沈念sama閱讀 38,349評(píng)論 3 400
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼缓溅,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了赁温?” 一聲冷哼從身側(cè)響起,我...
    開(kāi)封第一講書(shū)人閱讀 36,979評(píng)論 0 259
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤淤齐,失蹤者是張志新(化名)和其女友劉穎股囊,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體更啄,經(jīng)...
    沈念sama閱讀 43,469評(píng)論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡稚疹,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 35,938評(píng)論 2 323
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了祭务。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片内狗。...
    茶點(diǎn)故事閱讀 38,059評(píng)論 1 333
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖义锥,靈堂內(nèi)的尸體忽然破棺而出柳沙,到底是詐尸還是另有隱情,我是刑警寧澤拌倍,帶...
    沈念sama閱讀 33,703評(píng)論 4 323
  • 正文 年R本政府宣布赂鲤,位于F島的核電站,受9級(jí)特大地震影響柱恤,放射性物質(zhì)發(fā)生泄漏数初。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,257評(píng)論 3 307
  • 文/蒙蒙 一梗顺、第九天 我趴在偏房一處隱蔽的房頂上張望泡孩。 院中可真熱鬧,春花似錦寺谤、人聲如沸仑鸥。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 30,262評(píng)論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)锈候。三九已至,卻和暖如春敞贡,著一層夾襖步出監(jiān)牢的瞬間泵琳,已是汗流浹背。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 31,485評(píng)論 1 262
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留获列,地道東北人谷市。 一個(gè)月前我還...
    沈念sama閱讀 45,501評(píng)論 2 354
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像击孩,于是被迫代替她去往敵國(guó)和親迫悠。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,792評(píng)論 2 345

推薦閱讀更多精彩內(nèi)容