সমস্যাটি আশ্চর্যের সাথে অ-তুচ্ছ। প্রথমে দুটি ব্রুট ফোর্স অ্যালগোরিদম। একটি বর্গক্ষেত্র ("পুনরাবৃত্ত প্যাটার্ন") এর দৈর্ঘ্য এবং অবস্থান দ্বারা দেওয়া হয় , এবং যাচাই করতে সময় লাগে takes আমরা যেতে পারেন সব এবং , আমরা একটি প্রাপ্ত অ্যালগরিদম। আমরা প্রথম ওভার লুপিং দ্বারা যে উন্নত করতে পারেন , এবং তারপর একটি দূরত্ব দুটি চলমান পয়েন্টার সাথে স্ট্রিং স্ক্যান । এই ভাবে, এক কিনা দৈর্ঘ্যের একটি বর্গক্ষেত্র যাচাই করতে পারেন রৈখিক সময় বিদ্যমান, একটি মোট সময় চলমান দান ।ℓpO(ℓ)ℓpO(n3)ℓℓ2ℓO(n2)
কোলপাকভ এবং কুচেরভ [1] সময়ে একটি শব্দে সমস্ত সর্বাধিক পুনরাবৃত্তিগুলি সন্ধানের জন্য একটি অ্যালগরিদম তৈরি করেছিলেন এবং তাদের অ্যালগোরিদমটি সময়ে সমস্ত সর্বাধিক বর্গগুলি সন্ধান করতে ব্যবহার করা যেতে পারে । একটি পুনরাবৃত্ত ফর্ম একটি subword হয় , যেখানে এবং একটি সঠিক প্রিফিক্স । এই পুনরাবৃত্তির মধ্যে থাকা বৃহত্তম স্কোয়ারটি হ'ল । এই সূত্রটি ব্যবহার করে, কোনও শব্দে সমস্ত সর্বাধিক পুনরাবৃত্তি দেওয়া (যার মধ্যে কেবল অনেক রয়েছে), কেউ সবচেয়ে বড় বর্গটি খুঁজে পেতে পারে।O(n)O(n)wkxk≥2xw(w⌊k/2⌋)2O(n)
[1] কোলপাকভ, আর।, এবং কুচেরভ, জি। (1999)। রৈখিক সময়ে একটি শব্দে সর্বাধিক পুনরাবৃত্তি সন্ধান করা । ইন কম্পিউটার সায়েন্স, 1999 40 তম বার্ষিক সিম্পোজিয়াম ফাউন্ডেশন (পৃ। 596-604)। আইইইই।
142857
এটি সবচেয়ে দীর্ঘ নয় কারণ142857142857
দীর্ঘ হয়। আমি মনে করি আপনি "পুনরাবৃত্ত প্যাটার্ন" দ্বারা কী বোঝাতে চাইছেন তা পরিষ্কার করতে আপনার প্রশ্নটি সম্পাদনা করা উচিত।