89. 格雷編碼

這個(gè)題其實(shí)有個(gè)小技巧(個(gè)人一直覺(jué)得這種所謂的“技巧”其實(shí)并不能真正提高編程能力),就是編碼的規(guī)律踩娘。什么規(guī)律呢娘荡?通過(guò)觀察我們可以發(fā)現(xiàn),格雷編碼是通過(guò)上一級(jí)的編碼得到的魁袜。也就是n個(gè)數(shù)的編碼可以通過(guò)n - 1個(gè)數(shù)的編碼得到桩撮。

如果n = 1敦第,那么編碼為[0, 1];

n = 2店量,編碼為[00, 10, 11, 01]芜果;

n = 3,編碼為[000, 100, 110, 010, 011, 111, 101, 001]融师;

所以右钾,n級(jí)的編碼的生成,是從n - 1編碼的最后一個(gè)編碼開(kāi)始倒序遍歷旱爆,每遍歷一個(gè)編碼舀射,就將這個(gè)編碼+1后的碼字添加到結(jié)果列表的后面,然后再將這個(gè)編碼+0怀伦。

比如脆烟,n = 2,編碼為[00, 10, 11, 01]房待,倒序遍歷邢羔,得到:

01,+1后生成新的碼字添加到后面桑孩,再對(duì)01+0拜鹤,結(jié)果列表變成[00, 10, 11, 010, 011];

接著向前遍歷洼怔,對(duì)11做與上一步相同的處理署惯,結(jié)果列表變成[00, 10, 110, 010, 011, 111];

最后镣隶,結(jié)果列表變?yōu)閇000, 100, 110, 010, 011, 111, 101, 001]极谊。這樣生成的編碼就是符合格雷編碼條件的。也就是說(shuō)安岂,n級(jí)格雷編碼是由n - 1級(jí)格雷編碼生成的轻猖,這是很典型的遞歸思想。

最后域那,把二進(jìn)制的字符轉(zhuǎn)換成十進(jìn)制整數(shù)就行咙边。代碼如下:

class Solution:
    def grayCode(self, n: int) -> List[int]:
        result = []
        if n == 0:
            return [0]
        for i in self.helper(n):
            result.append(int(i, 2))
        return result
 
    def helper(self, n):
        result = []
        if n == 1:
            return ["0", "1"]
        elif n > 1:
            result = self.helper(n - 1)
            index = len(result) - 1
            while index >= 0:
                temp = result[index]
                temp += "1"
                result.append(temp)
                result[index] += "0"
                index -= 1
        return result
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市次员,隨后出現(xiàn)的幾起案子败许,更是在濱河造成了極大的恐慌,老刑警劉巖淑蔚,帶你破解...
    沈念sama閱讀 212,884評(píng)論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件市殷,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡刹衫,警方通過(guò)查閱死者的電腦和手機(jī)醋寝,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,755評(píng)論 3 385
  • 文/潘曉璐 我一進(jìn)店門(mén)搞挣,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人音羞,你說(shuō)我怎么就攤上這事囱桨。” “怎么了嗅绰?”我有些...
    開(kāi)封第一講書(shū)人閱讀 158,369評(píng)論 0 348
  • 文/不壞的土叔 我叫張陵舍肠,是天一觀的道長(zhǎng)。 經(jīng)常有香客問(wèn)我办陷,道長(zhǎng)貌夕,這世上最難降的妖魔是什么律歼? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 56,799評(píng)論 1 285
  • 正文 為了忘掉前任民镜,我火速辦了婚禮,結(jié)果婚禮上险毁,老公的妹妹穿的比我還像新娘制圈。我一直安慰自己,他們只是感情好畔况,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,910評(píng)論 6 386
  • 文/花漫 我一把揭開(kāi)白布鲸鹦。 她就那樣靜靜地躺著,像睡著了一般跷跪。 火紅的嫁衣襯著肌膚如雪馋嗜。 梳的紋絲不亂的頭發(fā)上,一...
    開(kāi)封第一講書(shū)人閱讀 50,096評(píng)論 1 291
  • 那天吵瞻,我揣著相機(jī)與錄音葛菇,去河邊找鬼。 笑死橡羞,一個(gè)胖子當(dāng)著我的面吹牛眯停,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播卿泽,決...
    沈念sama閱讀 39,159評(píng)論 3 411
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼莺债,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了签夭?” 一聲冷哼從身側(cè)響起齐邦,我...
    開(kāi)封第一講書(shū)人閱讀 37,917評(píng)論 0 268
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎第租,沒(méi)想到半個(gè)月后措拇,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 44,360評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡煌妈,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,673評(píng)論 2 327
  • 正文 我和宋清朗相戀三年儡羔,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了宣羊。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 38,814評(píng)論 1 341
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡汰蜘,死狀恐怖仇冯,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情族操,我是刑警寧澤苛坚,帶...
    沈念sama閱讀 34,509評(píng)論 4 334
  • 正文 年R本政府宣布,位于F島的核電站色难,受9級(jí)特大地震影響泼舱,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜枷莉,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 40,156評(píng)論 3 317
  • 文/蒙蒙 一娇昙、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧笤妙,春花似錦冒掌、人聲如沸。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 30,882評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至召衔,卻和暖如春铃诬,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背苍凛。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 32,123評(píng)論 1 267
  • 我被黑心中介騙來(lái)泰國(guó)打工趣席, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人毫深。 一個(gè)月前我還...
    沈念sama閱讀 46,641評(píng)論 2 362
  • 正文 我出身青樓吩坝,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親哑蔫。 傳聞我的和親對(duì)象是個(gè)殘疾皇子钉寝,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,728評(píng)論 2 351

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

  • 題目描述 格雷編碼是一個(gè)二進(jìn)制數(shù)字系統(tǒng),在該系統(tǒng)中闸迷,兩個(gè)連續(xù)的數(shù)值僅有一個(gè)位數(shù)的差異嵌纲。 給定一個(gè)代表編碼總位數(shù)的非...
    莫小鵬閱讀 265評(píng)論 0 0
  • 題目格雷編碼是一個(gè)二進(jìn)制數(shù)字系統(tǒng),在該系統(tǒng)中腥沽,兩個(gè)連續(xù)的數(shù)值僅有一個(gè)位數(shù)的差異逮走。 給定一個(gè)代表編碼總位數(shù)的非負(fù)整數(shù)...
    HITZGD閱讀 699評(píng)論 0 1
  • 格雷編碼是一個(gè)二進(jìn)制數(shù)字系統(tǒng),在該系統(tǒng)中今阳,兩個(gè)連續(xù)的數(shù)值僅有一個(gè)位數(shù)的差異师溅。給定一個(gè)代表編碼總位數(shù)的非負(fù)整數(shù) n茅信,...
    vbuer閱讀 609評(píng)論 0 0
  • 國(guó)家電網(wǎng)公司企業(yè)標(biāo)準(zhǔn)(Q/GDW)- 面向?qū)ο蟮挠秒娦畔?shù)據(jù)交換協(xié)議 - 報(bào)批稿:20170802 前言: 排版 ...
    庭說(shuō)閱讀 10,934評(píng)論 6 13
  • 養(yǎng)狗不栓繩窿锉,狗拉便便不清理酌摇,烈性犬不帶嘴套……一直以來(lái),不養(yǎng)狗的居民和“鏟屎官們”矛盾不斷嗡载。為此窑多,政府也出臺(tái)過(guò)相關(guān)...
    南昌狗狗online閱讀 196評(píng)論 0 0