[Code Interview] Count number of ones

Problem

Counting the number of 1 bits in the binary representation of a given integer.  

Analysis

Method 1: 

  • shift the number right by one bit each time, and check whether the right-most bit is 1
    • If yes, count++

Method 2:

    • if n is not 0, count++
    • assign n = n & (n-1), repeat until n is 0

    Time complexity
    • method 1: theta(n)
    • method 2: O(n)

    Code



    Reference

    Leave a Reply