কম্পিউটার টিউটোরিয়াল

পাইথনে হ্যামিং ডিস্ট্যান্স

দুটি ইন্টিজারের হ্যামিং ডিস্ট্যান্স বের করতে হবে। হ্যামিং ডিস্ট্যান্স হল দুটি সংখ্যার বাইনারি রিপ্রেজেন্টেশনে ভিন্ন বিটের সংখ্যা। উদাহরণ: ৭ (০১১১) এবং ১৫ (১১১১) এর হ্যামিং ডিস্ট্যান্স ১।

সমাধানের পদ্ধতি

  1. ans = 0 ইনিশিয়ালাইজ করুন।
  2. for i in range(31, -1, -1) লুপ চালান:
    • b1 = (x >> i) & 1, b2 = (y >> i) & 1।
    • যদি b1 != b2 হয়, ans += 1।
  3. 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
  1. পাইথনে Sqrt(x) ইমপ্লিমেন্টেশন

  2. বেসিক পাইথন প্রোগ্রামিং চ্যালেঞ্জ: আর্থমেটিক কুইজ গেম

  3. পাইথনে issuperset() ফাংশন

  4. পাইথনে Minkowski দূরত্ব নির্ণয়