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

बाइनरी उपसर्ग पायथन में 5 से विभाज्य है

मान लीजिए कि हमारे पास 0s और 1s की एक सरणी A है, मान लें कि N[i] इंडेक्स A[0] से A[i] तक एक बाइनरी नंबर के रूप में व्याख्या किया गया i-th सबरे है। हमें बूलियन उत्तरों की एक सूची ढूंढनी होगी, जहां उत्तर [i] सत्य है और केवल यदि N[i] 5 से विभाज्य है।

इसलिए, यदि इनपुट [0,1,1,1,1,1] जैसा है, तो आउटपुट [सत्य, असत्य, असत्य, असत्य, सत्य, असत्य]

होगा।

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

  • लंबाई:=A का आकार
  • उत्तर:=आकार की लंबाई की एक सरणी बनाएं, और असत्य से भरें
  • नंबर:=ए से प्रत्येक तत्व को जोड़कर एक बाइनरी मान
  • 0 से लंबाई के बीच के लिए, करें
    • यदि संख्या mod 5 0 के समान है, तो
      • उत्तर[लंबाई-i-1] :=सच
    • संख्या:=संख्या/2
  • वापसी उत्तर

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

उदाहरण

class Solution:
   def prefixesDivBy5(self, A):
      length=len(A)
      ans=[False]*length
      number=int("".join(map(str,A)),2)
      for i in range(length):
         if number%5==0:
            ans[length-i-1]=True
            number=number>>1
      return ans
ob = Solution()
print(ob.prefixesDivBy5([0,1,1,1,1,1]))

इनपुट

[0,1,1,1,1,1]

आउटपुट

[True, False, False, False, True, False]

  1. पायथन में बाइनरी ट्री का व्यास

    मान लीजिए हमारे पास एक बाइनरी ट्री है; हमें पेड़ के व्यास की लंबाई की गणना करनी है। बाइनरी ट्री का व्यास वास्तव में एक पेड़ में किन्हीं दो नोड्स के बीच सबसे लंबे पथ की लंबाई है। जरूरी नहीं कि यह रास्ता जड़ से ही गुजरे। तो अगर पेड़ नीचे जैसा है, तो व्यास 3 होगा क्योंकि पथ की लंबाई [4,2,1,3] या [5,2,1

  1. पायथन में बाइनरी ट्री को उल्टा करें

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

  1. पायथन में स्ट्रिंग को बाइनरी में कैसे बदलें?

    एक स्ट्रिंग को बाइनरी में बदलने के लिए, आपको प्रत्येक वर्ण पर पुनरावृति करने और इसे बाइनरी में बदलने की आवश्यकता है। फिर इन पात्रों को एक ही स्ट्रिंग में एक साथ जोड़ दें। आप वर्ण x को बाइनरी के रूप में प्रारूपित करने के लिए format(ord(x), b) का उपयोग कर सकते हैं। उदाहरण के लिए: >>>st = &quo