LeetCode-191 Number of 1 Bits
2016-06-19 23:36
495 查看
https://leetcode.com/problems/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
should return 3.
1、将32位分别与1相与,统计1的个数(8ms)
class Solution {
public:
int hammingWeight(uint32_t n) {
int mask = 1, sum = 0;
for(int i = 0;i<32;i++){
if((n & mask) != 0)
sum++;
mask = mask << 1;
}
return sum;
}
};
2、利用整除2,统计余数为1的个数(4ms)
class Solution {
public:
int hammingWeight(uint32_t n) {
int sums = 0;
while(n/2!=0){
sums += n%2;
n /= 2;
}
sums += n%2;
return sums;
}
};
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.
1、将32位分别与1相与,统计1的个数(8ms)
class Solution {
public:
int hammingWeight(uint32_t n) {
int mask = 1, sum = 0;
for(int i = 0;i<32;i++){
if((n & mask) != 0)
sum++;
mask = mask << 1;
}
return sum;
}
};
2、利用整除2,统计余数为1的个数(4ms)
class Solution {
public:
int hammingWeight(uint32_t n) {
int sums = 0;
while(n/2!=0){
sums += n%2;
n /= 2;
}
sums += n%2;
return sums;
}
};
相关文章推荐
- leetcode 179 Largest Number
- leetcode 24 Swap Nodes in Pairs
- leetcode 2 Add Two Numbers 方法1
- leetcode 2 Add Two Numbers 方法2
- leetcode----Longest Substring Without Repeating Characters
- [LeetCode]47 Permutations II
- [LeetCode]65 Valid Number
- [LeetCode]123 Best Time to Buy and Sell Stock III
- [LeetCode] String Reorder Distance Apart
- [LeetCode] Sliding Window Maximum
- [LeetCode] Find the k-th Smallest Element in the Union of Two Sorted Arrays
- [LeetCode] Determine If Two Rectangles Overlap
- [LeetCode] A Distance Maximizing Problem
- leetcode_linearList
- leetcode_linearList02
- 021-Merge Two Sorted Lists(合并两个排好序的单链表);leetcode
- LeetCode[Day 1] Two Sum 题解
- LeetCode[Day 2] Median of Two Sorted Arrays 题解
- LeetCode[Day 3] Longest Substring Without... 题解
- LeetCode [Day 4] Add Two Numbers 题解