191. Number of 1 Bits
leetcode easy
#bit-manipulation#csharp#easy#leetcode#math#string
Task
Напишите функцию, которая принимает бинарное представление положительного целого числа и возвращает количество установленных битов (также известных как вес Хэмминга).
Пример:
Input: n = 11
Output: 3
Explanation:
The input binary string 1011 has a total of three set bits.
C# solution
matched/originalint hammingWeight(int n) {
int bits = 0;
int mask = 1;
for (int i = 0; i < 32; i++) {
if ((n & mask) != 0) {
bits++;
}
mask <<= 1;
}
return bits;
}C++ solution
auto-draft, review before submit#include <bits/stdc++.h>
using namespace std;
// Auto-generated C++ draft from the C# solution. Review containers, LINQ and helper types before submit.
int hammingWeight(int n) {
int bits = 0;
int mask = 1;
for (int i = 0; i < 32; i++) {
if ((n & mask) != 0) {
bits++;
}
mask <<= 1;
}
return bits;
}Java solution
matched/originalpublic int hammingWeight(int n) {
int bits = 0;
int mask = 1;
for (int i = 0; i < 32; i++) {
if ((n & mask) != 0) {
bits++;
}
mask <<= 1;
}
return bits;
}JavaScript solution
matched/originalfunction hammingWeight(n) {
let bits = 0;
let mask = 1;
for (let i = 0; i < 32; i++) {
if ((n & mask) !== 0) {
bits++;
}
mask <<= 1;
}
return bits;
}Python solution
matched/originaldef hammingWeight(n: int) -> int:
bits = 0
mask = 1
for _ in range(32):
if (n & mask) != 0:
bits += 1
mask <<= 1
return bitsGo solution
matched/originalfunc hammingWeight(n int) int {
bits := 0
mask := 1
for i := 0; i < 32; i++ {
if (n & mask != 0 {
bits++
}
mask <<= 1
}
return bits
}Explanation
Algorithm
1️⃣