কম্পিউটার

দৈর্ঘ্যের প্যাটার্ন পরীক্ষা করার জন্য প্রোগ্রাম m পুনরাবৃত্তি করা হয়েছে K বা তার বেশি বার পাইথনে বিদ্যমান বা নেই


ধরুন আমাদের কাছে ধনাত্মক মান সহ একটি অ্যারে সংখ্যা আছে, আমাদের দৈর্ঘ্য m এর একটি প্যাটার্ন খুঁজে বের করতে হবে যা k বার বার বা তার বেশি পুনরাবৃত্তি হয়। এখানে একটি প্যাটার্ন হল একটি নন-ওভারল্যাপিং সাবয়ারে (পরপর) যা এক বা একাধিক মান নিয়ে গঠিত এবং একাধিকবার পুনরাবৃত্তি হয়। একটি প্যাটার্ন তার দৈর্ঘ্য এবং পুনরাবৃত্তির সংখ্যা দ্বারা সংজ্ঞায়িত করা হয়। আমাদের পরীক্ষা করতে হবে m দৈর্ঘ্যের একটি প্যাটার্ন আছে কি না যা k বা তার বেশি বার পুনরাবৃত্তি হয়।

সুতরাং, যদি ইনপুট হয় সংখ্যা =[3,5,1,4,3,1,4,3,1,4,3,9,6,1], m =3, k =2, তাহলে আউটপুট সত্য হবে কারণ একটি প্যাটার্ন আছে [1,4,3] যা 3 বার উপস্থিত।

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

  • আমি 0 থেকে সংখ্যার আকার - 1 এর রেঞ্জের জন্য, করুন

    • sub1 :=সূচক i থেকে (i+m*k) পর্যন্ত সংখ্যার সাব অ্যারে - 1

    • sub2 :=সূচক i থেকে (i+m-1) পর্যন্ত সংখ্যার k ধারাবাহিক সাব অ্যারে

    • যদি sub1 হয় sub2 এর মত, তাহলে

      • রিটার্ন ট্রু

  • রিটার্ন ফলস

উদাহরণ (পাইথন)

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

def solve(nums, m, k):
   for i in range(len(nums)):
      sub1 = nums[i:i+m*k]
      sub2 = nums[i:i+m]*k
      if sub1 == sub2:
         return True
   return False

nums = [3,5,1,4,3,1,4,3,1,4,3,9,6,1]
m = 3
k = 2
print(solve(nums, m, k))

ইনপুট

[3,5,1,4,3,1,4,3,1,4,3,9,6,1], 3, 2

আউটপুট

True

  1. হিপ চেক করার প্রোগ্রামটি পাইথনে সর্বোচ্চ হিপ তৈরি করছে নাকি নয়

  2. বিজোড় দৈর্ঘ্যের চক্র পাইথনে গ্রাফে আছে কি না তা পরীক্ষা করার জন্য প্রোগ্রাম

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

  4. পাইথন প্রোগ্রাম একটি তালিকা খালি কি না পরীক্ষা করতে?