কম্পিউটার টিউটোরিয়াল

পাইথনে স্ট্রিং রোটেশন যাচাই

দুটি স্ট্রিং A এবং B দেওয়া থাকে। A-কে রোটেট করে কি B পাওয়া যায় তা যাচাই করতে হবে। উদাহরণস্বরূপ, A = 'abcde' এবং B = 'bcdea' হলে উত্তর True, কারণ A-কে রোটেট করলে B পাওয়া যায়।

সমাধানের পদ্ধতি

  1. যদি উভয় স্ট্রিং খালি হয়, তবে True রিটার্ন করুন। যদি দৈর্ঘ্য ভিন্ন হয়, তবে False রিটার্ন করুন।
  2. A-কে নিজের সাথে জোড়া দিন (A = A * 2)।
  3. টু-পয়েন্টার টেকনিক ব্যবহার করে A-র মধ্যে B খুঁজুন।

উদাহরণ কোড

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. পাইথনে স্ট্রিং রিভার্স (ইন-প্লেস)

  2. পাইথনে অ্যারে রোটেট (Rotate Array)

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

  4. পাইথনে স্ট্রিং স্লাইসিং ব্যবহার করে স্ট্রিং রোটেট (Rotate) করা