কম্পিউটার

স্ট্রিং পাইথনে প্যাটার্ন দ্বারা সংজ্ঞায়িত অক্ষরগুলির ক্রম অনুসরণ করে কিনা তা পরীক্ষা করুন


ধরুন আমাদের একটি স্ট্রিং s এবং প্যাটার্ন হিসাবে আরেকটি স্ট্রিং t আছে, আমাদের পরীক্ষা করতে হবে s-এর অক্ষরগুলি টি-তে উপস্থিত অক্ষর দ্বারা নির্ধারিত ক্রম অনুসরণ করে কিনা। এখানে আমাদের প্যাটার্নে কোনো সদৃশ অক্ষর নেই।

সুতরাং, যদি ইনপুটটি s ="hello world" t ="hw" এর মত হয়, তাহলে আউটপুট হবে True।

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

  • যদি s এর আকার হয়
  • মিথ্যে ফেরত দিন
  • আমি 0 থেকে t - 2 এর পরিসরে, কর
    • x :=t[i], y :=t[i + 1]
    • ডান :=s-এ x এর শেষ সূচক
    • বামে :=s-এ x এর প্রথম সূচক
    • যদি ডান হয় -1 বা বাম হয় -1 বা ডান> বাম, তাহলে
      • মিথ্যে ফেরত দিন
  • সত্য ফেরান
  • আরো ভালোভাবে বোঝার জন্য আসুন নিচের বাস্তবায়ন দেখি -

    উদাহরণ কোড

    def solve(s, t):
       if len(s) < len(t) :
          return False
     
       for i in range(len(t) - 1):
          x = t[i]
          y = t[i + 1]
     
          right = s.rindex(x)
          left = s.index(y)
     
          if right == -1 or left == -1 or right > left:
             return False
    
       return True
    
    s = "hello world"
    t = "hw"
    print(solve(s, t))

    ইনপুট

    "hello world", "hw"

    আউটপুট

    True

    1. পাইথনে একটি স্ট্রিং বৈধ JSON কি না তা পরীক্ষা করুন

    2. একটি প্রদত্ত স্ট্রিং কীওয়ার্ড কিনা তা পরীক্ষা করার জন্য পাইথন প্রোগ্রাম

    3. একটি স্ট্রিং প্যালিনড্রোম কিনা তা পরীক্ষা করার জন্য পাইথন প্রোগ্রাম

    4. একটি বাক্য পরীক্ষা করার জন্য পাইথন প্রোগ্রাম প্যানগ্রামস কিনা।