VOOZH about

URL: https://www.geeksforgeeks.org/python/python-map-function-count-total-set-bits-numbers-1-n/

⇱ Python map function | Count total set bits in all numbers from 1 to n - GeeksforGeeks


  • Courses
  • Tutorials
  • Interview Prep

Python map function | Count total set bits in all numbers from 1 to n

Last Updated : 16 Jun, 2022

Given a positive integer n, count the total number of set bits in binary representation of all numbers from 1 to n. Examples:

Input: n = 3
Output: 4
Binary representations are 1, 2 and 3
1, 10 and 11 respectively. Total set
bits are 1 + 1 + 2 = 4.

Input: n = 6
Output: 9

Input: n = 7
Output: 12

Input: n = 8
Output: 13

We have existing solution for this problem please refer Count total set bits in all numbers from 1 to n link. We can solve this problem in python using map() function. Approach is very simple,

  1. Write a function which first converts number into binary using bin(num) function and returns count of set bits in it.
  2. Map user defined function on list of numbers from 1 to n and we will get list of individual count of set bits in each number.
  3. Sum up count of all set bits.

Output:

13

Time Complexity : O(log n)

Auxiliary Space: O(log n)

Another Approach:

The approach can be made more efficient using a lambda function, and the count() method in order to count the set bits in the binary form, as outlined below:


Output
13

Time Complexity : O(1 )

Auxiliary Space : O(1)

Comment
Article Tags:
Article Tags: