1. Título Descripción
Pregunta 338. Contar bits: dado un número entero positivo n, devuelve el número de todos los números binarios en la matriz de 0 a n, incluido 1. ¡La dificultad es media! El requisito de complejidad es O (n).
En segundo lugar, mi respuesta
Usar dp para este tema es realmente muy simple:
class Solution{
public:
vector<int> countBits(int num){
vector<int> res(num+1,0);
if(num>0) res[1]=1;
for(int i=2;i<=num;i++){
int tmp = i%2;
res[i] = res[i/2] + tmp;
}
return res;
}
};
El rendimiento es el siguiente:
Runtime: 52 ms, faster than 93.90% of C++ online submissions for Counting Bits.
Memory Usage: 9.6 MB, less than 63.42% of C++ online submissions for Counting Bits.
Tres, medidas de optimización
Ninguno