Giả sử chúng ta có một số không dấu n. Chúng ta phải tìm số 1 trong biểu diễn nhị phân của số này. Đây còn được gọi là Hamming Weight. Vì vậy, nếu số như 000000101101, thì kết quả sẽ là 4.
Để giải quyết vấn đề này, chúng tôi sẽ sử dụng các bước sau -
- Lấy số và chuyển đổi nó thành một chuỗi nhị phân
- bộ đếm =0
- cho mỗi ký tự e trong một chuỗi nhị phân
- nếu ký tự là '1', thì hãy tăng số lượng lên 1
- số lượng trả lại
Ví dụ
Hãy cùng chúng tôi xem cách triển khai sau đây để hiểu rõ hơn -
class Solution(object): def hammingWeight(self, n): """ :type n: int :rtype: int """ n = str(bin(n)) print(n) one_count = 0 for i in n: if i == "1": one_count+=1 return one_count num = "000000101101" ob1 = Solution() print(ob1.hammingWeight(num))
Đầu vào
num = "000000101101"
Đầu ra
4