สมมติว่าเรามีจำนวนไม่มีเครื่องหมาย n เราต้องหาจำนวน 1 ในการแทนค่าทศนิยมสองของตัวเลขนี้ นี่ cònเรียกว่า Hamming Weight เช่นถ้าตัวเลขเป็น 000000101101 ผลลัพธ์จะเป็น 4
วิธีการแก้ปัญหา
- รับตัวเลขและแปลงเป็นสตริงทศนิยมสอง
- ตั้งค่า count = 0
- สำหรับแต่ละตัวอักษร e ในสตริงทศนิยมสอง:
- ถ้าตัวอักษรเป็น '1' ให้เพิ่ม count ขึ้น 1
- คืนค่า count
ตัวอย่าง
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))
อินพุต
num = "000000101101"
เอาต์พุต
4