LeetCode刷題之路 Dota2 參議院

Dota2 參議院【中等】

Dota2 的世界里有兩個(gè)陣營:Radiant(天輝)和 Dire(夜魘)

Dota2 參議院由來自兩派的參議員組成。現(xiàn)在參議院希望對一個(gè) Dota2 游戲里的改變作出決定办悟。他們以一個(gè)基于輪為過程的投票進(jìn)行。在每一輪中纯续,每一位參議員都可以行使兩項(xiàng)權(quán)利中的**一**項(xiàng):

  1. 禁止一名參議員的權(quán)利

    參議員可以讓另一位參議員在這一輪和隨后的幾輪中喪失所有的權(quán)利饱溢。

  2. 宣布勝利:如果參議員發(fā)現(xiàn)有權(quán)利投票的參議員都是同一個(gè)陣營的,他可以宣布勝利并決定在游戲中的有關(guān)變化法挨。

給定一個(gè)字符串代表每個(gè)參議員的陣營码泞。字母“R”和“D”分別代表了Radiant(天輝)和 Dire(夜魘)谆焊。然后,如果有 n 個(gè)參議員浦夷,給定字符串的大小將是n辖试。

以輪為基礎(chǔ)的過程從給定順序的第一個(gè)參議員開始到最后一個(gè)參議員結(jié)束。這一過程將持續(xù)到投票結(jié)束劈狐。所有失去權(quán)利的參議員將在過程中被跳過罐孝。

假設(shè)每一位參議員都足夠聰明,會為自己的政黨做出最好的策略肥缔,你需要預(yù)測哪一方最終會宣布勝利并在 Dota2 游戲中決定改變莲兢。輸出應(yīng)該是 RadiantDire

示例 1:

輸入: "RD"
輸出: "Radiant"
解釋:  第一個(gè)參議員來自  Radiant 陣營并且他可以使用第一項(xiàng)權(quán)利讓第二個(gè)參議員失去權(quán)力,因此第二個(gè)參議員將被跳過因?yàn)樗麤]有任何權(quán)利改艇。然后在第二輪的時(shí)候收班,第一個(gè)參議員可以宣布勝利,因?yàn)樗俏ㄒ灰粋€(gè)有投票權(quán)的人

示例 2:

輸入: "RDD"
輸出: "Dire"
解釋: 
第一輪中,第一個(gè)來自 Radiant 陣營的參議員可以使用第一項(xiàng)權(quán)利禁止第二個(gè)參議員的權(quán)利
第二個(gè)來自 Dire 陣營的參議員會被跳過因?yàn)樗臋?quán)利被禁止
第三個(gè)來自 Dire 陣營的參議員可以使用他的第一項(xiàng)權(quán)利禁止第一個(gè)參議員的權(quán)利
因此在第二輪只剩下第三個(gè)參議員擁有投票的權(quán)利,于是他可以宣布勝利

注意:

  1. 給定字符串的長度在 [1, 10,000] 之間.

解題思路

一看這個(gè)題目大概就能知道最優(yōu)的策略就是禁掉自己后面的敵人谒兄,沒有的話再禁掉前面的敵人摔桦。在這里,我們要分別記錄兩個(gè)陣營的位置承疲,所以分別創(chuàng)建了兩個(gè)隊(duì)列分別存儲兩個(gè)陣營的每個(gè)人的位置邻耕,對senate進(jìn)行遍歷不僅得到了兩個(gè)陣營的每個(gè)人的位置,而且也得到了senate的長度i燕鸽。然后進(jìn)行一個(gè)循環(huán)直到某一個(gè)陣營沒有人為止兄世,分別取出隊(duì)伍最前面的兩個(gè)陣營的人的位置,決定淘汰哪個(gè)人(位置靠前的陣營的人淘汰位置相對靠后的那個(gè)人)啊研,然后將暫時(shí)沒被淘汰的人加到隊(duì)伍后(代表位置的數(shù)值也相應(yīng)改變)御滩。最后進(jìn)行判斷,返回有剩余的陣營的名稱党远。

class Solution:
    def predictPartyVictory(self, senate):
        """
        :type senate: str
        :rtype: str
        """
        from collections import deque
        R = deque()
        D = deque()
        i = 0
        for sen in senate:
            if sen == "R":
                R.append(i)
                i = i + 1
            else:
                D.append(i)
                i = i + 1
        while R and D:
            index_R = R.popleft()
            index_D = D.popleft()
            if index_R < index_D:
                R.append(index_R + i)
            else:
                D.append(index_D + i)
        if R:
            return 'Radiant'
        else:
            return 'Dire'
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末艾恼,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子麸锉,更是在濱河造成了極大的恐慌,老刑警劉巖舆声,帶你破解...
    沈念sama閱讀 216,591評論 6 501
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件花沉,死亡現(xiàn)場離奇詭異,居然都是意外死亡媳握,警方通過查閱死者的電腦和手機(jī)碱屁,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,448評論 3 392
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來蛾找,“玉大人娩脾,你說我怎么就攤上這事〈蛎” “怎么了柿赊?”我有些...
    開封第一講書人閱讀 162,823評論 0 353
  • 文/不壞的土叔 我叫張陵,是天一觀的道長幻枉。 經(jīng)常有香客問我碰声,道長,這世上最難降的妖魔是什么熬甫? 我笑而不...
    開封第一講書人閱讀 58,204評論 1 292
  • 正文 為了忘掉前任胰挑,我火速辦了婚禮,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘瞻颂。我一直安慰自己豺谈,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,228評論 6 388
  • 文/花漫 我一把揭開白布贡这。 她就那樣靜靜地躺著茬末,像睡著了一般。 火紅的嫁衣襯著肌膚如雪藕坯。 梳的紋絲不亂的頭發(fā)上团南,一...
    開封第一講書人閱讀 51,190評論 1 299
  • 那天,我揣著相機(jī)與錄音炼彪,去河邊找鬼吐根。 笑死,一個(gè)胖子當(dāng)著我的面吹牛辐马,可吹牛的內(nèi)容都是我干的拷橘。 我是一名探鬼主播,決...
    沈念sama閱讀 40,078評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼喜爷,長吁一口氣:“原來是場噩夢啊……” “哼冗疮!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起檩帐,我...
    開封第一講書人閱讀 38,923評論 0 274
  • 序言:老撾萬榮一對情侶失蹤术幔,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后湃密,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體诅挑,經(jīng)...
    沈念sama閱讀 45,334評論 1 310
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,550評論 2 333
  • 正文 我和宋清朗相戀三年泛源,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了拔妥。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 39,727評論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡达箍,死狀恐怖没龙,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情缎玫,我是刑警寧澤硬纤,帶...
    沈念sama閱讀 35,428評論 5 343
  • 正文 年R本政府宣布,位于F島的核電站赃磨,受9級特大地震影響咬摇,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜煞躬,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,022評論 3 326
  • 文/蒙蒙 一肛鹏、第九天 我趴在偏房一處隱蔽的房頂上張望逸邦。 院中可真熱鬧,春花似錦在扰、人聲如沸缕减。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,672評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽桥狡。三九已至,卻和暖如春皱卓,著一層夾襖步出監(jiān)牢的瞬間裹芝,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,826評論 1 269
  • 我被黑心中介騙來泰國打工娜汁, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留嫂易,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 47,734評論 2 368
  • 正文 我出身青樓掐禁,卻偏偏與公主長得像怜械,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個(gè)殘疾皇子傅事,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,619評論 2 354

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

  • 國會:美國最高立法機(jī)關(guān)缕允。由參議院和眾議院組成。國會行使立法權(quán)蹭越。議案一般經(jīng)過提出障本、委員會審議、全院大會審議等程序响鹃。一...
    gbmaotai閱讀 1,946評論 0 0
  • 目前美國憲法共存在27個(gè)有效的修正案驾霜。其中,最初的10個(gè)修正案是一次性被通過的茴迁,因?yàn)槠渲饕?guī)定了人民的權(quán)利和對政府...
    海君若晟閱讀 3,488評論 0 0
  • 在這段時(shí)間的工作里,我學(xué)習(xí)到了很多關(guān)于銷售的技巧萤衰,很高興能夠在梵音有所成長堕义。 經(jīng)過這一段時(shí)間的工作實(shí)踐,我發(fā)現(xiàn)雖然...
    婧婷Fineyoga閱讀 332評論 0 0
  • 一位婦人帶著稚子去見圣雄甘地脆栋,她懇求道:“圣雄倦卖,求您叫我兒子別再吃糖了〈徽” 圣雄沉吟半晌怕膛,說:“兩個(gè)星期后...
    徐曉琳111閱讀 156評論 0 1
  • 昨天早晨煎蛋時(shí),一個(gè)雞蛋特別大秦踪,我預(yù)感到可能是雙黃蛋褐捻,敲開掸茅,果然是。手機(jī)拍下柠逞,待畫昧狮。 晚飯后在IPAD上畫了這幅。...
    沙地人閱讀 1,425評論 20 24