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

पायथन में अलग-अलग आसन्न बिट्स को हटाने के बाद सबसे छोटी स्ट्रिंग खोजने का प्रोग्राम


मान लीजिए हमारे पास एक बाइनरी स्ट्रिंग s है, हम किन्हीं दो आसन्न अक्षरों को हटा सकते हैं यदि वे अलग हैं। अंत में, हमें सबसे छोटी स्ट्रिंग की लंबाई ढूंढनी है जो हम प्राप्त कर सकते हैं यदि हम इस संक्रिया को जितनी बार चाहें उतनी बार कर सकते हैं।

उदाहरण के लिए, यदि इनपुट है s = "1100011", तो आउटपुट होगा 1, क्योंकि "10" हटाने के बाद हमें "10011" मिलता है, फिर "10" हटाने पर "011", फिर "01" हटाने पर केवल 1 बचता है।

हल करने के चरण

  • stack := एक नई सूची।
  • प्रत्येक c के लिए s में:
    • यदि stack खाली है या stack का शीर्ष c के समान है, तो c को stack में पुश करें।
    • अन्यथा जब stack का शीर्ष c के समान नहीं है, तो stack से तत्व पॉप करें।
  • stack में तत्वों की संख्या लौटाएं।

उदाहरण

class Solution:
    def solve(self, s):
        stack = []
        for c in s:
            if not stack or stack[-1] == c:
                stack.append(c)
            elif stack[-1] != c:
                stack.pop()
        return len(stack)

ob = Solution()
print(ob.solve("1100011"))

इनपुट

"1100011"

आउटपुट

1
  1. - पायथन में दिए गए स्ट्रिंग अनुक्रम नियमों का पालन करके nth अनुक्रम खोजने का प्रोग्राम

    मान लीजिए हमारे पास दो स्ट्रिंग्स s, t और एक अन्य धनात्मक संख्या n भी दी गई है, हमें अनुक्रम A का nवां पद लौटाना है जहां: A[0] = s A[1] = t जब n सम हो तो A[n] = A[n-1] + A[n-2], अन्यथा A[n] = A[n-2] + A[n-1]। उदाहरण के लिए, यदि s = a और t = b, तो अनुक्रम A होगा: [a, b, ba (a+b), bba (b+ba), bbaba

  1. - पायथन में अलग-अलग आसन्न बिट्स को हटाने के बाद सबसे छोटी स्ट्रिंग खोजने का प्रोग्राम

    मान लीजिए हमारे पास एक बाइनरी स्ट्रिंग s है, हम किन्हीं दो आसन्न अक्षरों को हटा सकते हैं यदि वे अलग हैं। अंत में, हमें सबसे छोटी स्ट्रिंग की लंबाई ढूंढनी है जो हम प्राप्त कर सकते हैं यदि हम इस संक्रिया को जितनी बार चाहें उतनी बार कर सकते हैं। उदाहरण के लिए, यदि इनपुट है s = 1100011, तो आउटपुट होगा

  1. - पायथन प्रोग्राम: स्ट्रिंग में मिरर कैरेक्टर्स खोजना

    एक यूजर इनपुट स्ट्रिंग और पोजिशन दी गई है, उस पोजिशन से हमें स्ट्रिंग की लंबाई तक अल्फाबेटिकल ऑर्डर में कैरेक्टर्स को मिरर करना है। इस ऑपरेशन में, हम a को z में, b को y में, c को x में, d को w में बदलते हैं और इसी तरह, यानी पहला कैरेक्टर लास्ट बन जाता है और इसी तरह।Input: p = 3 Input string = python