ডব্লিউ রাইটারের স্ট্রিংয়ে রান সংখ্যা থেকে নেওয়া নিম্নলিখিত সংজ্ঞাগুলি বিবেচনা করুন । লক্ষ্য করুন যে শব্দ, স্ট্রিং এবং সাবস্ট্রিং সমস্ত মোটামুটি প্রতিশব্দ।
একটি স্ট্রিংয়ের একটি রান একটি স্ট্রিংয়ের মধ্যে পর্যায়ক্রমিক সেগমেন্টের অযোগ্য (একই সর্বনিম্ন সময়ের সাথে)।
যখনই এই সমীকরণের উভয় পক্ষকে সংজ্ঞায়িত করা হয় তখন w শব্দের একটি পি পিরিয়ডের যেকোন ধনাত্মক পূর্ণসংখ্যা পি হয় w আসুন প্রতি (ডাব্লু) ডাব্লু এর ক্ষুদ্রতম সময়ের আকারটি বোঝায়। আমরা বলি যে একটি শব্দ ডাব্লু পর্যায়ক্রমিক iff প্রতি (ডাব্লু) <= | ডাব্লু | / 2।
উদাহরণস্বরূপ, স্ট্রিং বিবেচনা করুন x = abcab। per(abcab) = 3হিসাবে x[1] = x[1+3] = a, x[2]=x[2+3] = bএবং কোন ছোট সময়কাল আছে। স্ট্রিং abcabতাই পর্যায়ক্রমিক নয়। তবে স্ট্রিং ababপর্যায়ক্রমিক (আবাব) = 2 অনুসারে per
স্ট্রিং w-তে একটি রান (বা সর্বাধিক সময়কাল) হল একটি অন্তর [i ... j] j> = i সহ, যেমন
- ডব্লু [আমি ... জে) পি = পিরিয়ড (ডাব্লু [আমি ... জ]) পিরিয়ড সহ একটি পর্যায়ক্রমিক শব্দ
- এটি সর্বাধিক। সাধারণত, ডাব্লু [আই -1] = ডাব্লু [আই -1 + পি] বা ডব্লু [জে + 1] = ডব্লু [জে + ১-পি] নয়। অনানুষ্ঠানিকভাবে, রান একই সময়ের সাথে বৃহত্তর রানের মধ্যে থাকতে পারে না।
রুনস (ডাব্লু) দ্বারা ডাব্লু রানের সেটকে বোঝান।
উদাহরণ
চারটি রান atattattহ'ল [৪,৫] = টিটি, [,,৮] = টিটি, [১,৪] = আত, [২,৮] = টট্ট।
স্ট্রিংটিতে aabaabaaaacaacacনিম্নলিখিত 7 রান রয়েছে:
[১,২] = আ, [৪,৫] = আ, [,,১০] = আআআ, [১২,১৩] = আ, [১৩,১]] = একা, [১,৮] = আবাবা, [৯ , 15] = আকাচা।
আপনার আউটপুট রানের তালিকা হওয়া উচিত। প্রতিটি রানকে অন্তর্ভুক্ত করে এটি প্রতিনিধিত্ব করে তবে এটি কেবল স্ট্রিংয়ের আউটপুট দেওয়ার প্রয়োজন হবে না to সঠিক ফর্ম্যাটিং যা আপনার পক্ষে সুবিধাজনক তা হতে পারে।
উদাহরণগুলি 1-ইনডেক্সিং ব্যবহার করে তবে এটি আরও সুবিধাজনক হলে পরিবর্তে 0-সূচি ব্যবহার করতে আপনি মুক্ত are
টাস্ক
কোডটি লিখুন যা একটি স্ট্রিং w, আউটপুট RUNS (w) দেয়।
ভাষা এবং ইনপুট
আপনি নিজের পছন্দ মতো যে কোনও ভাষা ব্যবহার করতে পারেন এবং যে কোনও ফর্মটি সবচেয়ে সুবিধাজনক হিসাবে ইনপুট স্ট্রিং নিতে পারেন। আপনাকে অবশ্যই একটি সম্পূর্ণ প্রোগ্রাম দিতে হবে এবং উদাহরণ কোড ইনপুটটিতে আপনার কোড চলমান একটি উদাহরণ দেখা উচিত।
class A{public static ...}গল্ফ কোডটি লিখতে চাইতাম