Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> Python

पायथन में हैमिंग दूरी


मान लीजिए हमारे पास दो पूर्णांक हैं। हमें उनकी हैमिंग दूरी ढूंढनी है। हैमिंग दूरी दो संख्याओं के बीच अलग-अलग बिट काउंट की संख्या है। उदाहरण के लिए, यदि संख्याएं 7 और 15 हैं, तो वे बाइनरी में 0111 और 1111 हैं, यहां MSB अलग है, इसलिए हैमिंग दूरी 1 है।

हल करने के चरण

  • i = 31 से 0 तक
    • b1 = x का दायां शिफ्ट (i AND 1 बार)
    • b2 = y का दायां शिफ्ट (i AND 1 बार)
    • यदि b1 = b2, तो answer := answer + 0, अन्यथा answer := answer + 1
  • answer वापस करें

उदाहरण

बेहतर समझ के लिए निम्नलिखित कार्यान्वयन देखें:

class Solution(object):
    def hammingDistance(self, x, y):
        """
        :type x: int
        :type y: int
        :rtype: int
        """
        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. - बेसिक Python प्रोग्रामिंग चुनौतियाँ

    इस ट्यूटोरियल में, हम एक चुनौती का समाधान लिखेंगे।चुनौतीहमें बेसिक अंकगणितीय संक्रियाओं का एक रैंडम सेट उत्पन्न करना है। उपयोगकर्ता प्रश्नों की संख्या देगा, और हमें प्रश्न उत्पन्न करने होंगे। प्रत्येक प्रश्न के बाद, उपयोगकर्ता उसका उत्तर देगा। प्रोग्राम के अंत में, हमें स्कोर देना होगा। आइए कोशिश कर

  1. पायथन में issuperset() फंक्शन पायथन में issuperset() फंक्शन

    इस लेख में, हम पायथन में issuperset() और विभिन्न क्षेत्रों में इसके कार्यान्वयन के बारे में जानेंगे।यह मेथड बूलियन True वापस करता है यदि सेट B के सभी तत्व सेट A के सभी तत्वों को समाहित करते हैं जिसे तर्क के रूप में पारित किया जाता है और झूठा वापस करता है यदि A के सभी तत्व B में मौजूद नहीं हैं।इसका म

  1. - पायथन में मिन्कोव्स्की दूरी

    मिन्कोव्स्की दूरी एक मीट्रिक है और एक मानद वेक्टर स्पेस में, परिणाम मिन्कोव्स्की असमानता है। मिन्कोव्स्की दूरी का उपयोग वेक्टर की दूरी समानता के लिए किया जाता है। scipy.spatial.distance.minkowski >>> from scipy.spatial import distance >>> distance.minkowski([1, 0, 0], [0, 1, 0], 1