LeetCode 338. Counting Bits

Post by ailswan Dec. 13, 2023

338. Counting Bits

Problem Statement

link: LeetCode.cn LeetCode

Given an integer n, return an array ans of length n + 1 such that for each i (0 <= i <= n), ans[i] is the number of 1’s in the binary representation of i.

Example:

Input: n = 2 Output: [0,1,1]

Input: n = 5 Output: [0,1,1,2,1,2]

Solution Approach

Algorithm

Implement

    class Solution:
    def countBits(self, n: int) -> List[int]:
      res = [0] * (n + 1)
      for i in range(n + 1):
          res[i] = res[i >> 1] + (i & 1)
      return res