কম্পিউটার

পাইথনে স্ট্রিং ঘোরান


ধরুন আমাদের দুটি স্ট্রিং আছে, A এবং B। আমরা A স্ট্রিংটি ঘোরাব এবং এটি ঘূর্ণনের যেকোনো অবস্থানে B এর সাথে মেলে কিনা তা পরীক্ষা করব, যদি তাই হয় তবে সত্য, অন্যথায় মিথ্যা দিন। উদাহরণস্বরূপ, যদি A ='abcde', এবং B ='bcdea' তাহলে উত্তরটি সত্য হবে, কারণ A কে ঘোরানোর পর B তে রূপান্তর করা যেতে পারে।

এটি সমাধান করতে, আমরা এই পদক্ষেপগুলি অনুসরণ করব -

  • যখন A এবং B উভয়ই খালি থাকে, তখন সত্য ফেরত দিন, যখন দুটিই ভিন্ন দৈর্ঘ্যের হয় তখন মিথ্যা ফেরত দিন
  • A :=A এর পরে A সংযুক্ত করুন
  • i :=0, এবং j :=0
  • যখন আমি এর দৈর্ঘ্য
  • যদি A – i + 1
  • যখন i
  • i এবং j 1 দ্বারা বাড়ান
  • যদি j =B এর দৈর্ঘ্য হয় তাহলে সত্য দেখায়
  • যদি 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
          #print(A,B)
          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]:
                #print("Here!",i,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. পাইথনে বিপরীত স্ট্রিং

    2. পাইথনে অ্যারে ঘোরান

    3. পাইথনে casefold() স্ট্রিং

    4. একটি স্ট্রিং ঘোরানোর জন্য পাইথনে স্ট্রিং স্লাইসিং