LeetCode 89. 格雷編碼
Description
格雷編碼是一個二進位制數字系統,在該系統中,兩個連續的數值僅有一個位數的差異。
給定一個代表編碼總位數的非負整數 n,列印其格雷編碼序列。即使有多個不同答案,你也只需要返回其中一種。
格雷編碼序列必須以 0 開頭。
示例 1:
輸入: 2
輸出: [0,1,3,2]
解釋:
00 - 0
01 - 1
11 - 3
10 - 2
對於給定的 n,其格雷編碼序列並不唯一。
例如,[0,2,3,1] 也是一個有效的格雷編碼序列。
00 - 0
10 - 2
11 - 3
01 - 1
示例 2:
輸入: 0
輸出: [0]
解釋: 我們定義格雷編碼序列必須以 0 開頭。
給定編碼總位數為 n 的格雷編碼序列,其長度為 2n。當 n = 0 時,長度為 20 = 1。
因此,當 n = 0 時,其格雷編碼序列為 [0]。
來源:力扣(LeetCode)
連結:https://leetcode-cn.com/problems/gray-code
著作權歸領釦網路所有。商業轉載請聯絡官方授權,非商業轉載請註明出處。
Solution
class Solution:
def grayCode(self, n: int) -> List[int]:
res = [0]
head = 1
for i in range(n):
tmp = []
for j in range(len(res)-1,-1,-1):
tmp.append(res[j]+head)
res = res + tmp
head = head << 1
return res
相關文章
- LeetCode-089-格雷編碼LeetCode
- 基於結構光投影三維重建:格雷碼編碼與解碼
- 遞迴生成格雷碼遞迴
- P5657 [CSP-S2019] 格雷碼
- JavaScript編碼風格指南JavaScript
- JavaScript 編碼風格指南JavaScript
- Python 編碼風格參考Python
- 談談JavaScript編碼風格JavaScript
- PHP編碼風格規範PHP
- verilog實現格雷碼和二進位制碼的相互轉換
- LeetCode第三題之二:編碼實現LeetCode
- 談談編碼風格與規範
- [LeetCode] Short Encoding of Words 單詞集的短編碼LeetCodeEncoding
- 讀雷博部落格有感——加油程式猿
- 淺談格雷厄姆的《證券分析》
- PEP 8 程式程式碼的編寫風格指南
- 編碼風格:Mvc模式下SSM環境,程式碼分層管理MVC模式SSM
- 使用ASN.1 Editor解碼ASN.1格式的編碼
- 推廣六西格瑪,需要避免這些雷區!
- 格雷·艾倫:中國的人工智慧戰略人工智慧
- LeetCode72編輯距離LeetCode
- 部落格美化&typora編寫部落格攻略(部落格園版)
- Java LeetCode 72. 編輯距離JavaLeetCode
- 軟體編寫風格
- 通過編寫掃雷遊戲提高你的 Bash 技巧遊戲
- 【LINT】cpplint修改版:自定義編碼風格檢查工具lint
- IDEA如何設定編碼格式,字元編碼,全域性編碼和專案編碼格式Idea字元
- 程式碼榮辱觀-以運用風格為榮,以隨意編碼為恥
- LeetCode 394 字串解碼LeetCode字串
- Leetcode 編輯距離(動態規劃)LeetCode動態規劃
- MarsEdit for mac(部落格編輯器)Mac
- 「指間靈動,快碼加編」:阿里雲通義靈碼,再次降臨部落格園阿里
- python之掃雷小遊戲(附程式碼)Python遊戲
- 雷軍做程式設計師時寫的部落格,太牛了!程式設計師
- 雷軍做程式設計師時寫的部落格,太牛了。。程式設計師
- 熵編碼(四)-算術編碼(二)熵
- 影像壓縮編碼碼matlab實現——行程編碼Matlab行程
- 影像壓縮編碼碼matlab實現——DM編碼Matlab