Tencent 44-Grayコード

Tencent 44-Grayコードleetcode89

グレイコーディングは、2つの連続する値が1桁だけ異なる2進数システムです。

コードの総桁数を表す負でない整数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]です。

いいえ なに なに いいね 話す グリッド レイ ヤード 学ぶ 上へ 持っている 公開 タイプ g r a y ( i ) = i ( i / 2 ) 言うことは何もありません。グレイコードには数式があります。グレイ(i)= i \ bigoplus(i / 2)

class Solution:
    ##没什么好讲的,格雷码数学上有公式,gray(i)=i xor i/2
    def grayCode(self, n: int) -> List[int]:
        res=[]
        for i in range(1<<n):
            res.append(i ^ (i>>1))
        return res
93件の元の記事を公開 賞賛8 10,000以上のビュー

おすすめ

転載: blog.csdn.net/zlb872551601/article/details/103652368