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
- Gray Code(格雷編碼)
- 基於結構光投影三維重建:格雷碼編碼與解碼
- P5657 [CSP-S2019] 格雷碼
- 生成組合物件之二進位制反射格雷碼(c++)物件反射C++
- verilog實現格雷碼和二進位制碼的相互轉換
- LeetCode第三題之二:編碼實現LeetCode
- 格雷·艾倫:中國的人工智慧戰略人工智慧
- 淺談格雷厄姆的《證券分析》
- 格雷厄姆:證券投資的原則
- [LeetCode] Short Encoding of Words 單詞集的短編碼LeetCodeEncoding
- Mysql編碼, Mysql編碼流程, Mysql編碼順序, Mysql編碼原理, Mysql編碼修改依據MySql
- 【字元編碼】字元編碼 && Base64編碼演算法字元演算法
- LeetCode72編輯距離LeetCode
- AppleWatch 愛馬仕新錶帶發售 價格雷人APP
- 【字元編碼】Java編碼格式探祕字元Java
- 熵編碼(四)-算術編碼(二)熵
- Java LeetCode 72. 編輯距離JavaLeetCode
- java安全編碼指南之:字串和編碼Java字串
- 字符集編碼(二):字元編碼模型字元模型
- 關於URL編碼/javascript/jsurl編碼JavaScriptJS
- 【字元編碼】徹底理解字元編碼字元
- 字串-編碼字串
- 字串編碼字串編碼
- jdbc編碼?JDBC
- sql編碼SQL
- DER編碼
- 字元編碼字元
- java編碼Java
- 影像壓縮編碼碼matlab實現——行程編碼Matlab行程
- 影像壓縮編碼碼matlab實現——DM編碼Matlab
- Leetcode 編輯距離(動態規劃)LeetCode動態規劃
- AOSP 原始碼整編單編原始碼
- 編碼、摘要和加密(一)——位元組編碼加密
- 編譯FFMPEG原始碼的指令碼編寫案例編譯原始碼指令碼
- 從原理上搞定編碼-- Base64編碼
- [譯]編碼,編碼,編碼!提高程式設計技能的唯一途徑程式設計
- LeetCode 394 字串解碼LeetCode字串