835. distancia de Hamming

835. distancia de Hamming

chino Inglés

Distancia de Hamming de dos números enteros diferentes correspondientes al número de bits.
Dados dos números enteros x e y, se calcula la distancia de Hamming entre los dos.

muestra

Muestra 1

输入: x = 1 和 y = 4
输出: 2
解释:
1的二进制表示是001
4的二进制表示是100
共有2位不同

Muestra 2

输入: x = 5 和 y = 2
输出: 3
解释:
5的二进制表示是101
2的二进制表示是010
共有3位不同

precauciones

0 ≤  xy <231

 
Entrada de datos de prueba (una por línea de argumento) cómo interpretar los datos de prueba?
clase Solución:
     "" "
     @ param x: entero Un 
    @param Y: entero Un 
    @ return: retorno de un número entero, denotar la Hamming distancia entre dos números enteros Los
     " ""
     '' '
     idea general:
     1 se obtuvo números binarios x e y [ 2 :], corto necesidad delante para compensar ' 0 ' , ¿cuántas relleno cuántos diferencia
     2 . ciclos compararon para ver la cantidad de bits diferente
     '' '
     DEF Distancia de Hamming (Ser, X, Y): 
        x_bin, y_bin = bin (X) [ 2 :], bin (Y) [ 2 :] 

        IF len (x_bin)> len (y_bin):
             para J enrango (abs (len (x_bin) - len (y_bin))): 
                y_bin = ' 0 ' + y_bin
         otra cosa :
             para j en rango (abs (len (x_bin) - len (y_bin))): 
                x_bin = ' 0 ' + x_bin 
        
        recuento = 0  
        para i en el rango (len (x_bin)):
             si x_bin [i] =! y_bin [i]: 
                recuento + = 1 
        vuelta recuento

 

 

Supongo que te gusta

Origin www.cnblogs.com/yunxintryyoubest/p/12563540.html
Recomendado
Clasificación