国产精品天干天干,亚洲毛片在线,日韩gay小鲜肉啪啪18禁,女同Gay自慰喷水

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

力扣每日一題 169. 多數(shù)元素

2022-10-14 21:04 作者:時崎山下  | 我要投稿

問題:給定一個大小為 n 的數(shù)組 nums ,返回其中的多數(shù)元素。多數(shù)元素是指在數(shù)組中出現(xiàn)次數(shù)大于 ? n/2 ? 的元素。

你可以假設(shè)數(shù)組是非空的,并且給定的數(shù)組總是存在多數(shù)元素。

解決的問題是如何在任意多的候選人(選票無序),選出獲得票數(shù)最多的那個。常見的算法是掃描一遍選票,對每個候選人進(jìn)行統(tǒng)計的選票進(jìn)行統(tǒng)計。當(dāng)候選人的數(shù)目固定時,這個常見算法的時間復(fù)雜度為:O(n),當(dāng)候選人的數(shù)目不定時,統(tǒng)計選票可能會執(zhí)行較長時間,可能需運(yùn)行O(n2)的時間。當(dāng)選票有序時,可以很容易編出O(n)的程序,首先找到中位數(shù),然后檢查中位數(shù)的個數(shù)是否超過選票的一半。這篇論文針對無序且侯選人不定的情形,提出了摩爾投票算法。算法的比較次數(shù)最多是選票(記為n)的兩倍,可以在O(n)時間內(nèi)選出獲票最多的,空間開銷為O(1)。

class?Solution?{

public:

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

???int?candidate=0,vote=0;? //candidate 為候選人 vote代表票數(shù)

???for(int?i:nums){

???????if(vote==0){

???????????candidate=i;

???????????vote=1;

???????}?else?{

???????????if(i == candidate) {

???????????????++vote;

???????????}?else?if(i!=candidate){

???????????????--vote;

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

???????}

???}

???return?candidate;

????}

};


力扣每日一題 169. 多數(shù)元素的評論 (共 條)

分享到微博請遵守國家法律
孟村| 仁寿县| 油尖旺区| 稻城县| 海淀区| 汶川县| 勐海县| 洛南县| 福海县| 广宗县| 崇礼县| 江津市| 大兴区| 井陉县| 南宫市| 保亭| 临洮县| 融水| 喜德县| 崇左市| 吉安市| 云龙县| 绥宁县| 娄烦县| 富阳市| 防城港市| 友谊县| 石渠县| 六枝特区| 浮梁县| 油尖旺区| 根河市| 项城市| 祥云县| 文水县| 龙口市| 布拖县| 开阳县| 和硕县| 台中县| 布拖县|