美文网首页
LeetCode-338-比特位计数

LeetCode-338-比特位计数

作者: 阿凯被注册了 | 来源:发表于2020-10-05 06:31 被阅读0次
image.png

解题思路:

  1. 枚举:

dp[0]=0; dp[1]=1;
dp[2]=1; dp[3]=2;
dp[4]=1; dp[5]=2;
dp[6]=2; dp[7]=3;
dp[8]=1; dp[9]=2;
dp[10]=2; dp[11]=3;

  1. 归纳数字的二进制属性:
  • 奇数i比偶数i-1多一个1;
  • 偶数i和偶数i/2的1的个数一样,偶数的末位为0,i/2相当于把有1的位数右移一位。

Python3代码

class Solution:
    def countBits(self, num: int) -> List[int]:
        dp = [0] * (num+1)
        for i in range(1, num+1):
            if i % 2 == 1:
                dp[i]=dp[i-1]+1
            else:
                dp[i] = dp[int(i/2)]
        return dp

相关文章

  • LeetCode-338-比特位计数

    解题思路: 枚举: dp[0]=0; dp[1]=1;dp[2]=1; dp[3]=2;dp[4]=1; dp[5...

  • 比特位计数

    题目描述:给定一个非负整数 num。对于 0 ≤ i ≤ num 范围中的每个数字 i ,计算其二进制数中的 1 ...

  • 比特位计数

    题目来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/coun...

  • Leetcode 比特位计数

    题目描述 leecode第338题:比特位计数[https://leetcode-cn.com/problems/...

  • 338. 比特位计数

    难度中等题目描述: 给定一个非负整数 num。对于 0 ≤ i ≤ num 范围中的每个数字 i ,计算其二进制数...

  • [Leetcode] 338 比特位计数

    题目链接:[Leetcode]338.比特位计数 题干 给定一个非负整数 num。对于 0 ≤ i ≤ num 范...

  • 338.比特位计数

    题目描述 给定一个非负整数 num。对于 0 ≤ i ≤ num 范围中的每个数字 i ,计算其二进制数中的 1 ...

  • 338. 比特位计数

    给定一个非负整数 num。对于 0 ≤ i ≤ num 范围中的每个数字 i ,计算其二进制数中的 1 的数目并将...

  • 338. 比特位计数

    解法 简单解法,时间复杂度为O(nlogn) 优化解法,时间复杂度为O(n)

  • 338. 比特位计数

    一 题目: 给你一个整数 n ,对于 0 <= i <= n 中的每个 i ,计算其二进制表示中 1 的个数 ,返...

网友评论

      本文标题:LeetCode-338-比特位计数

      本文链接:https://www.haomeiwen.com/subject/snsiuktx.html