ধরুন আমাদের একটি স্বাক্ষরবিহীন সংখ্যা n আছে। এই সংখ্যাটির একটি বাইনারি উপস্থাপনায় আমাদের 1s সংখ্যাটি খুঁজে বের করতে হবে। এটি হ্যামিং ওজন নামেও পরিচিত। সুতরাং সংখ্যাটি যদি 000000101101 এর মত হয়, তাহলে ফলাফল হবে 4।
এটি সমাধান করার জন্য, আমরা এই পদক্ষেপগুলি ব্যবহার করব -
- সংখ্যাটি নিন এবং এটিকে একটি বাইনারি স্ট্রিংয়ে রূপান্তর করুন
- গণনা সেট করুন =0
- প্রতিটি অক্ষরের জন্য e একটি বাইনারি স্ট্রিং এ
- যদি অক্ষরটি ‘1’ হয়, তাহলে গণনা 1 দ্বারা বাড়ান
- রিটার্ন গণনা
উদাহরণ
আরো ভালোভাবে বোঝার জন্য নিচের বাস্তবায়নটি দেখি -
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