Explore diversas soluciones LeetCode en Python, C++, JavaScript, SQL y TypeScript. Ideal para preparación de entrevistas, aprendizaje y práctica de código en múltiples lenguajes de programación. Enlace de repositorio de Github
Escriba una función que tome la representación binaria de un entero sin signo y devuelva el número de bits '1' que tiene (también conocido como Peso Hamming).
Nota:
- Tenga en cuenta que en algunos lenguajes, como Java, no existe un tipo entero sin signo. En este caso, la entrada se proporcionará como un tipo entero con signo. No debería afectar su implementación, ya que la representación binaria interna del número entero es la misma. está firmado o no.
- En Java, el compilador representa los enteros con signo usando Notación en complemento a 2Por lo tanto, en Ejemplo 3, la entrada representa el entero con signo.
-3
.
Ejemplo 1:
Aporte: n = 00000000000000000000000000001011 Producción: 3 Explicación: La cadena binaria de entrada 00000000000000000000000000001011 tiene un total de tres bits '1'.
Ejemplo 2:
Aporte: n = 00000000000000000000000010000000 Producción: 1 Explicación: La cadena binaria de entrada 00000000000000000000000010000000 tiene un total de un bit '1'.
Ejemplo 3:
Aporte: norte = 11111111111111111111111111111101 Producción: 31 Explicación: La cadena binaria de entrada 11111111111111111111111111111101 tiene un total de treinta y un bits '1'.
Restricciones:
- La entrada debe ser una cadena binaria de longitud
32
.
Hacer un seguimiento: Si esta función se llama muchas veces, ¿cómo la optimizarías?
Pitón
solución de clase { público: int hammingWeight(uint32_t n) { int suma = 0, máscara = 1; for (int i = 0; i < 32; i++) { if ((n & máscara) != 0) suma++; >= 1; } devolver suma; } };