[LeetCode]#89グレイコード(グレイコード)
89 Gray Code
[LeetCode]#89グレイコード(グレイコード)
トピックの説明
グレイコーディングは、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]です。
説明
グレイコードは、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]です。
解決
class Solution { public List grayCode(int n) { List res = new ArrayList() int size, j double num if(n==0) res.add(0) else{ res.add(0) res.add(1) for(int i=1 i