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

पायथन में स्ट्रिंग को घुमाएं


मान लीजिए हमारे पास दो स्ट्रिंग्स, A और B हैं। हम स्ट्रिंग A को घुमाएंगे और जांचेंगे कि क्या यह घुमाने की किसी स्थिति में B से मेल खाता है, यदि हां तो true वापस करें, अन्यथा false। उदाहरण के लिए, यदि A = 'abcde', और B = 'bcdea' तो उत्तर true होगा, क्योंकि A को घुमाकर B में बदला जा सकता है।

हल करने के चरण

  • जब दोनों A और B खाली हों, तो true वापस करें, जब दोनों की लंबाई अलग हो तो false वापस करें
  • A := A को A के साथ जोड़ें
  • i := 0, और j := 0
  • जब तक i < A की लंबाई
    • यदि A की लंबाई - i + 1 < B की लंबाई, तो false वापस करें
    • जब तक i < A की लंबाई और j < B की लंबाई और A[i] = B[j]
      • i और j को 1 से बढ़ाएं
    • यदि j = B की लंबाई तो true वापस करें
    • यदि j 0 नहीं है, तो i को 1 से घटाएं
    • j := 0
    • i को 1 से बढ़ाएं

उदाहरण

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

class Solution(object):
    def rotateString(self, A, B):
        if not A and not B:
            return True
        if len(A) != len(B):
            return False
        A = A*2
        i = 0
        j=0
        while i < len(A):
            if len(A)-i+1<len(B):
                return False
            while i<len(A) and j < len(B) and A[i] == B[j]:
                i+=1
                j+=1
            if j == len(B):
                return True
            if j:
                i-=1
            j=0
            i+=1

ob1 = Solution()
print(ob1.rotateString("abcde", "cdeab"))

इनपुट

"abcde" "cdeab"

आउटपुट

True

  1. - पायथन में सरणी घुमाएं

    मान लीजिए हमारे पास एक सरणी A है। हमें इसे k चरणों से दाईं ओर घुमाना है। यदि सरणी A = [5, 7, 3, 6, 8, 1, 5, 4] है, और k = 3, तो आउटपुट [1,5,4,5,7,3,6,8] होगा। चरण इस तरह हैं: [4,5,7,3,6,8,1,5] [5,4,5,7,3,6,8,1] [1,5,4,5,7,3,6,8] इसे हल करने के लिए हम इन चरणों का पालन करेंगे। मान लें n सरणी का आक

  1. - पायथन में casefold() स्ट्रिंग विधि

    यह फ़ंक्शन किसी शब्द के अक्षरों को लोअरकेस में बदलने में सहायक होता है। जब दो स्ट्रिंग्स पर लागू किया जाता है तो यह उनके मानों का मिलान कर सकता है भले ही अक्षरों का केस कुछ भी हो। casefold() लागू करना नीचे दिए गए उदाहरण में हम एक स्ट्रिंग पर casefold() फ़ंक्शन लागू करते हैं और परिणाम सभी लोअरकेस अ

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

    एक स्ट्रिंग दी गई है, हमारा कार्य स्ट्रिंग को दो तरह से स्लाइस करना है। एक क्लॉकवाइज और दूसरा एंटीक्लॉकवाइज।1. लेफ्ट (या एंटीक्लॉकवाइज) दी गई स्ट्रिंग को d एलिमेंट्स द्वारा रोटेट करें (जहां d <= n)।2. राइट (या क्लॉकवाइज) दी गई स्ट्रिंग को d एलिमेंट्स द्वारा रोटेट करें (जहां d <= n)।उदाहरणInput: stri