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

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


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

इसे हल करने के लिए, हम इन चरणों का पालन करेंगे -

  • i =31 डाउन टू 0
      . के लिए
    • b1 =x की दाहिनी पारी (i और 1 बार)
    • b2 =y की दाहिनी पारी (i और 1 बार)
    • यदि b1 =b2, तो उत्तर दें:=उत्तर + 0, अन्यथा उत्तर दें:=उत्तर + 1
  • वापसी का जवाब

उदाहरण

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

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)
         #if not(b1==b2):
            # print(b1,b2,i)
      return ans
ob1 = Solution()
print(ob1.hammingDistance(7, 15))

इनपुट

7
15

आउटपुट

1

  1. बुनियादी पायथन प्रोग्रामिंग चुनौतियां

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

  1. issuperset () पायथन में

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

  1. Python . में Minkowski दूरी

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