Skip to content
This repository was archived by the owner on Aug 14, 2024. It is now read-only.

Latest commit

 

History

History
28 lines (20 loc) · 723 Bytes

191.md

File metadata and controls

28 lines (20 loc) · 723 Bytes

191. Number of 1 Bits

Description

Write a function that takes an unsigned integer and returns the number of ’1' bits it has (also known as the Hamming weight).

For example, the 32-bit integer ’11' has binary representation 00000000000000000000000000001011, so the function should return 3.

Thinking Process

  1. Shift the number to the right 1 bit at a time and perform an & with 1

Code

public class Solution {
    // you need to treat n as an unsigned value
    public int hammingWeight(int n) {
        int count = 0;
        while(n != 0){
            count += (n & 1);
            n = n >>> 1;
        }
        return count;
    }
}