🗒️338. 比特位计数
2025-1-20
| 2025-1-20
0  |  阅读时长 0 分钟
type
status
date
slug
summary
tags
category
icon
password
创建时间
Jan 20, 2025 08:42 AM
给你一个整数 n ,对于 0 <= i <= n 中的每个 i ,计算其二进制表示中 1 的个数 ,返回一个长度为 n + 1 的数组 ans 作为答案。

位运算基础

使用内置函数

利用位运算 + 1 的特点

我们发现,当最高位发生变化后,会重走一遍低位的所有流程。
利用从 4(100) 开始
  • 4 是 100 + 00:1 + 0 = 1
  • 5 是 100 + 01:1 + 1 = 2
  • 6 是 100 + 10:1 + 1 = 2
  • 7 是 100 + 11:1 + 2 = 3
或者

动态规划——最低有效位

动态规划——最低设置位

使用 i & (i - 1) 得到最低位的 1

📎 参考

  • 【题单】位运算
  • 42. 接雨水2595. 奇偶位数
    Loading...