কম্পিউটার

একটি স্ট্রিং চেক করার প্রোগ্রামটি শব্দের প্রদত্ত তালিকায় ভাঙা যেতে পারে বা পাইথনে নয়


ধরুন আমাদের একটি শব্দ তালিকা এবং অন্য একটি স্ট্রিং আছে যেখানে কোনো স্পেস নেই। শব্দের তালিকা ব্যবহার করে স্ট্রিং ভাঙা যায় কি না তা আমাদের পরীক্ষা করতে হবে।

সুতরাং, যদি ইনপুটটি শব্দের মত হয় =["love", "python", "we", "programming", "language"] s ="welovepythonprogramming", তাহলে আউটপুট হবে True

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

  • শব্দ :=সকল অনন্য শব্দের একটি নতুন সেট
  • একটি ফাংশন rec() সংজ্ঞায়িত করুন। এটি i
  • লাগবে
  • যদি i s এর আকারের সমান হয়, তাহলে
    • সত্য ফেরান
  • acc :=ফাঁকা স্ট্রিং
  • j এর জন্য i থেকে s এর পরিসরে, কর
    • acc :=acc concatenate s[j]
    • যদি acc শব্দে হয়, তাহলে
      • যদি rec(j + 1) True হয়, তাহলে
        • সত্য ফেরান
  • মিথ্যে ফেরত দিন
  • প্রধান পদ্ধতি থেকে rec(0) কল করুন এবং ফলাফল ফেরত দিন

আরো ভালোভাবে বোঝার জন্য আসুন নিচের বাস্তবায়ন দেখি -

উদাহরণ

class Solution:
   def solve(self, words, s):
      words = set(words)

      def rec(i=0):
         if i == len(s):
            return True
         acc = ""
         for j in range(i, len(s)):
            acc += s[j]
            if acc in words:
               if rec(j + 1):
                  return True
         return False

      return rec()
     
ob = Solution()
words = ["love", "python", "we", "programming", "language"]
s = "welovepythonprogramming"
print(ob.solve(words, s))

ইনপুট

["love", "python", "we", "programming", "language"], "welovepythonprogramming"

আউটপুট

True

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

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

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

  4. একটি প্রদত্ত স্ট্রিং এ একটি সাবস্ট্রিং উপস্থিত আছে কিনা তা পরীক্ষা করার জন্য পাইথন প্রোগ্রাম।