2018-06-07 458. Poor Pigs

題意:給你一些數(shù)量的桶buckets,已知某一個桶里有毒藥,豬在喝了毒藥后一定時間內(nèi)minutesToDie會死亡稿存,給一個規(guī)定時間minutesToTest,問最少需要多少豬才能唯一確定毒藥在哪個桶里瞳秽。
解題思路:開始的時候總想著二分查找瓣履,二分的思路還不是最快的,最快的是根據(jù)位就像二進制位來確定桶的位置练俐。
如果死亡時間15min拂苹,規(guī)定在60min內(nèi)確定毒藥,共25個桶痰洒。因為15分鐘揭露一次瓢棒,所以60/15=4次,可以揭露4次丘喻,但可以做5次驗證脯宿,因為如果前4次豬都沒死,那肯定就是第五次會死泉粉,所以可以采用5進制對桶進行編碼连霉。
把桶編號為

                        00    01    02    03    04
                        10    11    12    13    14
                        30    31    32    33    34
                        40    41    42    43    44
                        50    51    52    53    54

在0分鐘時第一只豬喝開頭編碼全為0的桶,第二只豬喝第二位編碼全為0的桶嗡靡;
15分鐘后第一只豬喝第一位編碼全為1的桶跺撼,第二只豬喝第二位編碼全為1的桶;
............
每只豬守護一位編碼讨彼,反正在規(guī)定時間內(nèi)歉井,一定可以得到自己守護的那位編碼到底哪一個是有毒的,最后經(jīng)過所有豬的合并哈误,可以唯一標示一個桶有毒哩至。
對題意來說,1000個桶蜜自,15分鐘死亡時間菩貌,60分鐘驗證時間。
可以驗證60/15 = 4次重荠,所以可以采用5進制編碼桶箭阶。
每增加一位,就增加一頭豬;一位可以驗證5桶仇参,二位可以驗證55=25桶媳危,三位可以驗證555=125桶,四位驗證5555=600桶冈敛,五位可以驗證3000桶。所以至少需要5頭豬鸣皂。
對桶的編碼就是00000,00001,00002,00003,00004,00010,00011,00012....34234......
開始抓谴,第一頭豬把第一位為0的全喝,第二頭豬把第二位為0的全喝寞缝。癌压。。
15分鐘后第一頭豬死了可以確定帶毒的桶第一位編碼為0荆陆,繼續(xù)第二頭豬把第二位為1的全喝滩届。。被啼。
60分鐘后帜消,根據(jù)豬死的情況,可以唯一對應一個編碼即為有毒的桶的編碼浓体。
解題目:確定位數(shù)bits = minutesToTest/minutesToDie + 1;
確定豬的個數(shù)就是bits**豬個數(shù) >=buckets.

class Solution {
public:
    int poorPigs(int buckets, int minutesToDie, int minutesToTest) {
        if(buckets == 1)
            return 0;
        int bits = minutesToTest / minutesToDie + 1;
        int cnt = 1, nums = bits;
        while(nums < buckets){
            cnt++;
            nums *= bits;
        }
        return cnt;
    }
};
最后編輯于
?著作權歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末泡挺,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子命浴,更是在濱河造成了極大的恐慌娄猫,老刑警劉巖,帶你破解...
    沈念sama閱讀 222,104評論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件生闲,死亡現(xiàn)場離奇詭異媳溺,居然都是意外死亡,警方通過查閱死者的電腦和手機碍讯,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,816評論 3 399
  • 文/潘曉璐 我一進店門悬蔽,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人捉兴,你說我怎么就攤上這事屯阀。” “怎么了轴术?”我有些...
    開封第一講書人閱讀 168,697評論 0 360
  • 文/不壞的土叔 我叫張陵难衰,是天一觀的道長。 經(jīng)常有香客問我逗栽,道長盖袭,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 59,836評論 1 298
  • 正文 為了忘掉前任,我火速辦了婚禮鳄虱,結果婚禮上弟塞,老公的妹妹穿的比我還像新娘。我一直安慰自己拙已,他們只是感情好决记,可當我...
    茶點故事閱讀 68,851評論 6 397
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著倍踪,像睡著了一般系宫。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上建车,一...
    開封第一講書人閱讀 52,441評論 1 310
  • 那天扩借,我揣著相機與錄音,去河邊找鬼缤至。 笑死潮罪,一個胖子當著我的面吹牛,可吹牛的內(nèi)容都是我干的领斥。 我是一名探鬼主播嫉到,決...
    沈念sama閱讀 40,992評論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼月洛!你這毒婦竟也來了屯碴?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 39,899評論 0 276
  • 序言:老撾萬榮一對情侶失蹤膊存,失蹤者是張志新(化名)和其女友劉穎导而,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體隔崎,經(jīng)...
    沈念sama閱讀 46,457評論 1 318
  • 正文 獨居荒郊野嶺守林人離奇死亡今艺,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 38,529評論 3 341
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了爵卒。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片虚缎。...
    茶點故事閱讀 40,664評論 1 352
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖钓株,靈堂內(nèi)的尸體忽然破棺而出实牡,到底是詐尸還是另有隱情,我是刑警寧澤轴合,帶...
    沈念sama閱讀 36,346評論 5 350
  • 正文 年R本政府宣布创坞,位于F島的核電站,受9級特大地震影響受葛,放射性物質(zhì)發(fā)生泄漏题涨。R本人自食惡果不足惜偎谁,卻給世界環(huán)境...
    茶點故事閱讀 42,025評論 3 334
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望纲堵。 院中可真熱鬧巡雨,春花似錦、人聲如沸席函。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,511評論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽茂附。三九已至正蛙,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間何之,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,611評論 1 272
  • 我被黑心中介騙來泰國打工咽筋, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留溶推,地道東北人。 一個月前我還...
    沈念sama閱讀 49,081評論 3 377
  • 正文 我出身青樓奸攻,卻偏偏與公主長得像蒜危,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子睹耐,可洞房花燭夜當晚...
    茶點故事閱讀 45,675評論 2 359

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

  • 轉(zhuǎn)至元數(shù)據(jù)結尾創(chuàng)建: 董瀟偉辐赞,最新修改于: 十二月 23, 2016 轉(zhuǎn)至元數(shù)據(jù)起始第一章:isa和Class一....
    40c0490e5268閱讀 1,726評論 0 9
  • 如果夢想會開花 潘朵拉的盒子如了你塵封已久的心愿 我成了父母眼里的孩子 你替人間 守護著這棵古老的樹 夢想大樹能開...
    陸心遠閱讀 700評論 9 40
  • 那多的書是真的看了不少,從最開始在萌芽上看過幾篇連載硝训,后來還找過一個全集來看响委,他的書應該12年以前的都看過。記得之...
    萌小_小懶閱讀 634評論 0 0
  • 認為sigmoid輸出單元有兩個部分。首先纵刘,它使用一個線性層來計算 z = wTh + b (T是w的轉(zhuǎn)置)邀窃。其次...
    best___me閱讀 2,131評論 0 0