Código Tencent 44-Gray

Tencent 44-Gray code leetcode89

La codificación gris es un sistema de números binarios en el que dos valores consecutivos difieren solo en un dígito.

Dado un número entero no negativo n que representa el número total de dígitos en el código, imprima su secuencia de código gris. La secuencia de codificación de Gray debe comenzar con 0.

Ejemplo 1:

Entrada: 2
Salida: [ 0 , 1 , 3 , 2 ]
Explicación: 00-0 01-1 11-3 10-2



Para un n dado, su secuencia de codificación Gray no es única.
Por ejemplo, [0,2,3,1] también es una secuencia de codificación Gray válida.

00-0
10-2
.. 11-3
. 01-1
Ejemplo 2:

Entrada: 0
Salida: [0]
Explicación: Definimos que la secuencia de codificación Gray debe comenzar con 0.
Dada una secuencia de códigos Gray con un número total de códigos de n, su longitud es 2n. Cuando n = 0, la longitud es 20 = 1.
Por lo tanto, cuando n = 0, la secuencia de codificación de Gray es [0].

No Que Que Bueno Hablar De Rejilla Rayo Patio Numero Aprender Arriba Tener Público Tipo g r a y ( i ) = i ( i / 2 ) No hay nada que decir, hay una fórmula matemática en el código Gray, gray (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
Publicado 93 artículos originales · elogiado 8 · 10,000+ vistas

Supongo que te gusta

Origin blog.csdn.net/zlb872551601/article/details/103652368
Recomendado
Clasificación