Boyer-Moore 投票算法 求眾數(shù)

LeetCode 簡(jiǎn)單題目茧泪,記錄一下

已知一組數(shù)中有一個(gè)數(shù)占超過半數(shù)以上蜓氨,求出這個(gè)數(shù)是什么?

該算法的步驟是:首先選定第一個(gè)數(shù)作為“疑似眾數(shù)”队伟,設(shè)定計(jì)數(shù)器為1穴吹。然后往后遍歷,當(dāng)碰到相同的數(shù)嗜侮,計(jì)數(shù)器加1港令,否則減去1。當(dāng)計(jì)數(shù)器等于 0 時(shí)锈颗,重新選擇下一個(gè)數(shù)為疑似眾數(shù)顷霹,直到遍歷完全部數(shù)。最終的疑似眾數(shù)便是所需答案击吱。

解釋如下:分兩種情況考慮淋淀,第一,選中了眾數(shù)本身覆醇,則由于眾數(shù)的數(shù)量比其余的數(shù)字加起來都要多朵纷,所以即時(shí)中途被停止了,也只是減去等量的眾數(shù)和其他數(shù)永脓,對(duì)最終結(jié)果不影響柴罐。第二,選中了其他的數(shù)字憨奸,此時(shí)減去等量的 其他數(shù)B 和(眾數(shù)加上除了B以外的其他數(shù))革屠,由于其他數(shù)B占比較少,所以一定會(huì)在中途計(jì)數(shù)器等于0排宰。此時(shí)刪除了更多的其他數(shù):其他數(shù)B = 除了B以外的其他數(shù) +?眾數(shù) >>?其他數(shù)B +?除了B以外的其他數(shù) >?眾數(shù) , 故剩下的眾數(shù)數(shù)量更加多似芝,因此對(duì)結(jié)果沒有影響。

下面給出 C++ 代碼:

class?Solution?{

public:

????int?majorityElement(vector<int>&?nums)?{

????????int?major?=?nums[0];

????????int?count?=?1;

????????for(int?i?=?1;i?<?nums.size();?i++){

????????????if(count?!=?0){

????????????????if(nums[i]?!=?major)?count--;

????????????????else?count++;

????????????}

????????????else{

????????????????major?=?nums[i];

????????????????count++;

????????????}

????????}

????????return?major;

????}

};

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末板甘,一起剝皮案震驚了整個(gè)濱河市党瓮,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌盐类,老刑警劉巖寞奸,帶你破解...
    沈念sama閱讀 216,692評(píng)論 6 501
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件呛谜,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡枪萄,警方通過查閱死者的電腦和手機(jī)隐岛,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,482評(píng)論 3 392
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來瓷翻,“玉大人聚凹,你說我怎么就攤上這事∑胫悖” “怎么了妒牙?”我有些...
    開封第一講書人閱讀 162,995評(píng)論 0 353
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)对妄。 經(jīng)常有香客問我湘今,道長(zhǎng),這世上最難降的妖魔是什么剪菱? 我笑而不...
    開封第一講書人閱讀 58,223評(píng)論 1 292
  • 正文 為了忘掉前任象浑,我火速辦了婚禮,結(jié)果婚禮上琅豆,老公的妹妹穿的比我還像新娘愉豺。我一直安慰自己,他們只是感情好茫因,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,245評(píng)論 6 388
  • 文/花漫 我一把揭開白布蚪拦。 她就那樣靜靜地躺著,像睡著了一般冻押。 火紅的嫁衣襯著肌膚如雪驰贷。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,208評(píng)論 1 299
  • 那天洛巢,我揣著相機(jī)與錄音括袒,去河邊找鬼。 笑死稿茉,一個(gè)胖子當(dāng)著我的面吹牛锹锰,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播漓库,決...
    沈念sama閱讀 40,091評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼恃慧,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來了渺蒿?” 一聲冷哼從身側(cè)響起痢士,我...
    開封第一講書人閱讀 38,929評(píng)論 0 274
  • 序言:老撾萬榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎茂装,沒想到半個(gè)月后怠蹂,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體善延,經(jīng)...
    沈念sama閱讀 45,346評(píng)論 1 311
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,570評(píng)論 2 333
  • 正文 我和宋清朗相戀三年城侧,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了易遣。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 39,739評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡赞庶,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出澳骤,到底是詐尸還是另有隱情歧强,我是刑警寧澤,帶...
    沈念sama閱讀 35,437評(píng)論 5 344
  • 正文 年R本政府宣布为肮,位于F島的核電站摊册,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏颊艳。R本人自食惡果不足惜茅特,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,037評(píng)論 3 326
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望棋枕。 院中可真熱鬧白修,春花似錦、人聲如沸重斑。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,677評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽窥浪。三九已至祖很,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間漾脂,已是汗流浹背假颇。 一陣腳步聲響...
    開封第一講書人閱讀 32,833評(píng)論 1 269
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留骨稿,地道東北人笨鸡。 一個(gè)月前我還...
    沈念sama閱讀 47,760評(píng)論 2 369
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像坦冠,于是被迫代替她去往敵國和親镜豹。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,647評(píng)論 2 354

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

  • 由于個(gè)人精力有限蓝牲,文章是從個(gè)人博客拷貝過來的趟脂,如果文章格式和鏈接跳轉(zhuǎn)有問題,還請(qǐng)見諒例衍!也可以在我的個(gè)人博客觀看昔期。另...
    SirWwh閱讀 656評(píng)論 0 0
  • 題目:給定一個(gè)大小為 n 的數(shù)組已卸,找到其中的眾數(shù)。眾數(shù)是指在數(shù)組中出現(xiàn)次數(shù)大于 ? n/2 ? 的元素硼一。你可以假設(shè)...
    菜鳥要學(xué)習(xí)___閱讀 758評(píng)論 0 1
  • 題目 已知?個(gè)整數(shù)序列A = (a0,a1,a2,...an-1),其中(0<= ai <=n),(0<= i<=...
    _涼城閱讀 1,070評(píng)論 0 3
  • 2019.12-2020.02后端面試材料分享般贼,算法篇愧哟。 拿到了字節(jié)offer,走完了Hello單車和達(dá)達(dá)的面試流...
    潤著閱讀 820評(píng)論 0 0
  • 目錄 1 左神部分集錦 2 Leetcode前150題 3 藕咔客網(wǎng)劍指offer 4 JavaG 5 題...
    小小千千閱讀 562評(píng)論 0 0