【LeetCode从零单排】No 191.Number of 1 Bits(考察位运算)
生活随笔
收集整理的這篇文章主要介紹了
【LeetCode从零单排】No 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.
Credits:
Special thanks to?@ts?for adding this problem and creating all test cases.
代碼
1.遞歸運算,雖然leet不通過,因為時間原因 public class Solution {// you need to treat n as an unsigned valuepublic static int hammingWeight(int n) {if(n==0) return 0;if(n==1) return 1;int total=1;int index=1;while(n-total*2>=0){total=total*2;}n=n-total;index=index+hammingWeight(n);return index;}2.用位運算方法
public class Solution {// you need to treat n as an unsigned valuepublic int hammingWeight(int n) {if(n==0) return 0;int i=0;while(n!=0){n=n & (n-1);i++;}return i;} }
/********************************
* 本文來自博客 ?“李博Garvin“
* 轉載請標明出處:http://blog.csdn.net/buptgshengod
******************************************/
總結
以上是生活随笔為你收集整理的【LeetCode从零单排】No 191.Number of 1 Bits(考察位运算)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【LeetCode从零单排】No189.
- 下一篇: 【LeetCode从零单排】No 114