দুটি ইন্টিজারের হ্যামিং ডিস্ট্যান্স বের করতে হবে। হ্যামিং ডিস্ট্যান্স হল দুটি সংখ্যার বাইনারি রিপ্রেজেন্টেশনে ভিন্ন বিটের সংখ্যা। উদাহরণ: ৭ (০১১১) এবং ১৫ (১১১১) এর হ্যামিং ডিস্ট্যান্স ১।
সমাধানের পদ্ধতি
ans = 0ইনিশিয়ালাইজ করুন।for i in range(31, -1, -1)লুপ চালান:b1 = (x >> i) & 1,b2 = (y >> i) & 1।- যদি
b1 != b2হয়,ans += 1।
ansরিটার্ন করুন।
উদাহরণ কোড
class Solution(object):
def hammingDistance(self, x, y):
ans = 0
for i in range(31, -1, -1):
b1 = x >> i & 1
b2 = y >> i & 1
ans += not (b1 == b2)
return ans
ob1 = Solution()
print(ob1.hammingDistance(7, 15))
ইনপুট
7 15
আউটপুট
1