0
点赞
收藏
分享

微信扫一扫

力扣338 比特位计数

两岁时就很帅 2022-02-25 阅读 89

 如果是偶数,则1的个数是一样的。因为偶数的末尾一定是0,右移一位不会改变1的个数。

public int[] countBits(int num){
        int[] dp=new int[num+1];
        dp[0]=0;
        for(int i=1;i<=num;i++){
            if(i%2==0){
                dp[i]=dp[i>>1];
            }
            else{
                dp[i]=dp[i-1]+1;
            }
        }
        return dp;
    }
举报

相关推荐

0 条评论