Menu
CoddyTech

Number of 1 Bits

Bạn được cho một số nguyên không âm n. Hãy viết n ở dạng nhị phân và trả về số chữ số 1 của nó. Số lượng này còn được gọi là số bit được đặt, số bit 1 hoặc trọng số Hamming. Ví dụ, 6 được viết là 110 ở dạng nhị phân, nên có hai bit 1.

Hàm

hammingWeight(n: integer) → integer
ninteger
một số nguyên không âm vừa với kiểu int có dấu 32 bit
Trả vềinteger
số chữ số 1 trong dạng nhị phân của n

Ràng buộc

  • 0 ≤ n ≤ 231-1

Ví dụ

Đầu vào
n = 11
Đầu ra
3
Giải thích
11 là 1011 trong hệ nhị phân, bằng 8 + 2 + 1. Ba trong số bốn chữ số nhị phân của nó là 1, vậy đáp án là 3.
challenge icon

Câu hỏi mở rộng

Nếu hàm (function) này chạy hàng triệu lần, làm thế nào bạn có thể đếm số bit của một số 32-bit chỉ với bốn lần tra cứu trong bảng gồm 256 số đếm đã tính trước?

Đặt lại code
def hammingWeight(n):
    # Viết code ở đây

Kiểm thử #1

Kiểm thử #2

Kiểm thử #3

Đối số

n = 11

Đầu ra mong đợi

3