কম্পিউটার

স্ট্রিং পরীক্ষা করার প্রোগ্রামটি পাইথনে স্ট্রিং পুনরাবৃত্তি করছে নাকি নয়


ধরুন আমাদের একটি স্ট্রিং আছে, আমাদের চেক করতে হবে এটি একটি রিপিটিং স্ট্রিং কিনা।

সুতরাং, যদি ইনপুটটি স্ট্রিং ="helloworldhelloworld" এর মত হয়, তাহলে আউটপুট হবে True

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

  • n :=s এর আকার
  • একটি ফাংশন সংজ্ঞায়িত করুন findFactors()। এটি n
  • লাগবে
  • f :=একটি নতুন সেট
  • i :=1
  • যখন i * i <=n, do
    • যদি n mod i 0 এর মত হয়, তাহলে
      • f এর মধ্যে (n / i) এর ভাগফল যোগ করুন
      • f-এ i ঢোকান
    • i :=i + 1
  • রিটার্ন f
  • প্রধান পদ্ধতি থেকে, নিম্নলিখিতগুলি করুন -
  • তথ্য :=findFactors(n)
  • প্রত্যেক i এর জন্য, কর
    • যদি i n এর মত হয়, তাহলে
      • পরবর্তী পুনরাবৃত্তির জন্য যান
    • ss :=s[সূচী ০ থেকে i-1]
    • val :=s-এ ss এর উপস্থিতি
    • যদি val (n/i) এর ভাগফলের সমান হয়, তাহলে
      • সত্য ফেরান
  • মিথ্যে ফেরত দিন

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

উদাহরণ

class Solution:
   def solve(self, s):
      n = len(s)
      def findFactors(n):
         f = set()
         i = 1
         while(i * i <= n):
            if(n % i == 0):
               f.add(int(n / i))
               f.add(i)
            i+= 1
            return f
         fact = findFactors(n)
         for i in fact:
            if(i == n):
               continue
            ss = s[:i]
            val = s.count(ss)
            if(val == int(n / i)):
               return True
         return False
ob = Solution()
print(ob.solve("helloworldhelloworld"))

ইনপুট

"helloworldhelloworld"

আউটপুট

True

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

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

  3. স্ট্রিং খালি আছে কি না তা পরীক্ষা করার জন্য পাইথন প্রোগ্রাম

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