程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> C++ >> C++入門知識 >> [LeetCode 191] Number of 1 Bits

[LeetCode 191] Number of 1 Bits

編輯:C++入門知識

[LeetCode 191] Number of 1 Bits


 

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.

solution:

1. every time n&1, until n==0.

2. n&(n-1) will remove last 1 digit in n, use this to count how many 1 in the number

 

 

public int hammingWeight(int n) {
        int count = 0;
        while(n!=0){
            n = (n-1) & n;
            count++;
        }
        return count;
    }


 

 

 

 

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved