[LeetCode] 0338. Contando bits

Contando bits

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

Tabla de contenido

Fácil

 


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))
				
			
es_ESEspañol