classSolution{public:vector<int>countBits(intn){// f(i) := i's number of 1s in bitmask// f(i) = f(i / 2) + i % 2vector<int>ans(n+1);for(inti=1;i<=n;++i)ans[i]=ans[i/2]+(i&1);returnans;}};
1 2 3 4 5 6 7 8 9101112
classSolution{publicint[]countBits(intn){// f(i) := i's number of 1s in bitmask// f(i) = f(i / 2) + i % 2int[]ans=newint[n+1];for(inti=1;i<=n;++i)ans[i]=ans[i/2]+(i%2);returnans;}}
1 2 3 4 5 6 7 8 910
classSolution:defcountBits(self,n:int)->list[int]:# f(i) := i's number of 1s in bitmask# f(i) = f(i / 2) + i % 2ans=[0]*(n+1)foriinrange(1,n+1):ans[i]=ans[i//2]+(i&1)returnans