191. Number of 1 Bits Java Solutin

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.

Credits:
Special thanks to @ts for adding this problem and creating all test cases.

Subscribe to see which companies asked this question

 
 1 public class Solution {
 2     // you need to treat n as an unsigned value
 3     public int hammingWeight(int n) {
 4         int count = 0;
 5         // while(n/2 != 1){
 6         //     if(n%2 == 1) count++;
 7         //     n /= 2;
 8         // }
 9         while(n!=0){
10             if((n&1) == 1) count++;
11             n = n>>>1;
12         }
13         return count;
14     }
15 }

使用辗转相除,超时。遂移位相与。

原文地址:https://www.cnblogs.com/guoguolan/p/5396187.html