lhl
首页
python
leetcode
产品思想
软件测试
博客 (opens new window)
github (opens new window)
首页
python
leetcode
产品思想
软件测试
博客 (opens new window)
github (opens new window)
  • python

  • leetcode

    • 数组

    • 位运算

    • 动态规划

      • 53.最大子数组和
      • 70 爬楼梯
      • 121.买卖股票的最佳时机
      • 338. 比特位计数
    • 链表

    • 栈

    • 树

  • 软件测试

  • Git

  • linux

  • 产品

  • MySql

  • docker

  • leetcode
  • dp
2023-04-29

比特位计数

https://leetcode.cn/problems/counting-bits/ (opens new window) 需要注意的点

  1. python, // ,商的向下取整
  2. 若dp[i]是偶数,那么dp[i] = dp[i//2],比如2和4, 3和6

若dp[i]是奇数,那么dp[i] = dp[i-1] +1, 不进位加1

class Solution:
    def countBits(self, n: int) -> List[int]:
        '''
        0 --> 0
        1 --> 1
        2 --> 10
        3 --> 11
        4 --> 100
        5 --> 101
        6 --> 110
        7 --> 111
        8 --> 1000
        9 --> 1001
        10 -->1010
        11 -->1011
        '''
        dp = [0 for _ in range(n+1)]
        for i in range(1, n+1):
            if i % 2 == 0:
                dp[i] = dp[i//2]
            else:
                dp[i] = dp[i-1] +1
            
        return dp
121.买卖股票的最佳时机
21. 合并两个有序链表

← 121.买卖股票的最佳时机 21. 合并两个有序链表→

最近更新
01
lhl learn notes
02
filter
06-09
03
decorator
06-09
更多文章>
Theme by Vdoing
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式