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

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

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

तो, यदि इनपुट [0,1,1,1,1,1] जैसा है, तो आउटपुट [true,false,false,false,true,false] होगा।

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

  • length := A का आकार
  • ans:= length आकार की एक सरणी बनाएं, और false से भरें
  • number:= A से प्रत्येक तत्व को जोड़कर एक बाइनरी मान
  • i को 0 से length तक रेंज में, करें
    • यदि number mod 5, 0 के समान है, तो
      • ans[length-i-1] := True
    • number:= number / 2
  • ans लौटाएं

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

उदाहरण

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,3] की लंब

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

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

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

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