ARTICLE DETAIL

建站实战干货

来自一线的建站与推广经验沉淀,每一条都经过真实交付验证。

leetcode 338. 比特位计数

2026/8/15 12:55:30 拓冰建站 浏览量
leetcode 338. 比特位计数

2023.12.28

        简单的动态规划问题。 首先明确:当前为奇数时,比特数 = 当前数除以2的比特数;当前数为偶数时,比特数 = 当前数-1的比特数加上一

        使用动态规划循序遍历即可,java代码如下:

class Solution {public int[] countBits(int n) {if(n == 0) return new int[] {0};int[] dp = new int[n+1];dp[0] = 0;dp[1] = 1;for(int i=2; i<=n; i++){//偶数if(i % 2 == 0){dp[i] = dp[i/2];}//奇数else{dp[i] = dp[i-1] + 1;}}return dp;}
}