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
Dado un número entero norte
, devolver una matriz y
de longitud n+1
tal que para cada i
(0 <= yo <= norte
), respuesta[yo]
es el numero de 1
's en la representación binaria de i
.
Ejemplo 1:
Aporte: norte=2 Producción: [0,1,1] Explicación: 0 --> 0 1 --> 1 2 --> 10
Ejemplo 2:
Aporte: n=5 Producción: [0,1,1,2,1,2] Explicación: 0 --> 0 1 --> 1 2 --> 10 3 --> 11 4 --> 100 5 --> 101
Restricciones:
0 <= norte <= 10 5
Hacer un seguimiento:
- Es muy fácil encontrar una solución con un tiempo de ejecución de
O(n iniciar sesión n)
¿Puedes hacerlo en tiempo lineal?En)
¿Y posiblemente en una sola pasada? - ¿Puedes hacerlo sin utilizar ninguna función incorporada (es decir, como
__builtin_popcount
en C++)?
Pitón
al escribir import List clase Solución: def countBits(self, n: int) -> List[int]: result = [] for i in range(n+1): result.append(str(bin(i)).split ("0b")[1].count('1')) devuelve el resultado print(Solution().countBits(5))