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

पायथन में 1-बिट और 2-बिट वर्ण


मान लीजिए हमारे पास दो विशेष वर्ण हैं। पहला वर्ण एक बिट 0 द्वारा दर्शाया जा सकता है। और दूसरा वर्ण दो बिट्स जैसे (10 या 11) द्वारा दर्शाया जा सकता है। इसलिए, यदि हमारे पास कई बिट्स द्वारा दर्शाया गया एक स्ट्रिंग है। हमें जांचना है कि क्या अंतिम वर्ण एक-बिट वर्ण होना चाहिए या नहीं। दी गई स्ट्रिंग हमेशा शून्य से समाप्त होगी।

उदाहरण के लिए, यदि इनपुट [1,0,0] है, तो आउटपुट True होगा, क्योंकि इसे डिकोड करने का एकमात्र तरीका दो-बिट वर्ण (10) और एक-बिट वर्ण (0) है। इसलिए, अंतिम वर्ण एक-बिट वर्ण है।

हल करने के चरण

  • जब तक bits का आकार > 1:
    • current := bits का पहला तत्व, फिर bits से पहला तत्व हटाएं
    • यदि current 1 के बराबर है, तो:
      • bits से पहला तत्व हटाएं
    • यदि bits का आकार 0 के बराबर है, तो:
      • False वापस करें
  • यदि bits[0] 0 के बराबर है तो True वापस करें, अन्यथा False

उदाहरण

class Solution:
    def isOneBitCharacter(self, bits):
        while len(bits) > 1:
            current = bits.pop(0)
            if current == 1:
                bits.pop(0)
            if len(bits) == 0:
                return False
        return bits[0] == 0

ob = Solution()
print(ob.isOneBitCharacter([1,0,0]))

इनपुट

[1,0,0]

आउटपुट

True
  1. - दिए गए स्ट्रिंग में अपरकेस और लोअरकेस वर्णों को गिनने का पायथन प्रोग्राम

    समस्या विवरण एक दिए गए स्ट्रिंग इनपुट के लिए, हम लोअरकेस में वर्णों की संख्या और अपरकेस में वर्णों की संख्या को पायथन का उपयोग करके गिनना चाहेंगे। उदाहरण के लिए, दी गई स्ट्रिंग के लिए: Hello World गणना होनी चाहिए: अपरकेस: 2 लोअरकेस: 8 हम इसे 2 शर्तों के साथ एक साधारण फॉर लूप का उपयोग करके लागू कर

  1. - पायथन में मैप फंक्शन और लैम्ब्डा एक्सप्रेशन का उपयोग करके वर्णों को बदलना

    समस्या विवरण हम वर्ण a1 को वर्ण a2 से और a2 को a1 से बदलना चाहते हैं। उदाहरण के लिए, इनपुट स्ट्रिंग के लिए: puporials toinp और वर्ण p और t के लिए, हम चाहते हैं कि अंतिम स्ट्रिंग इस तरह दिखे: tutorials point इसके लिए हम मैप फंक्शन और लैम्ब्डा का उपयोग करके प्रतिस्थापन कर सकते हैं। map(lambda, input

  1. - पायथन में =+ और += क्या करते हैं?

    += ऑपरेटर object.__iadd__() फ़ंक्शन के लिए सिंटैक्टिक शुगर है। पायथन डॉक्स से: ये मेथड ऑगमेंटेड अंकगणितीय असाइनमेंट (+=, -=, *=, @=, /=, //=, %=, **=, <<=, >>=, &=, ^=, |=) को इम्प्लीमेंट करने के लिए कॉल किए जाते हैं। ये मेथड इन-प्लेस ऑपरेशन (self को मॉडिफाई करना) करने का प्रयास करना चा