অনুপ্রেরণা : ডেটা ভার্শনিংয়ের সরঞ্জামগুলি বিকাশ করার সময়, আমরা দুটি সংখ্যক পূর্ণসংখ্যার "ডিফ" তৈরির জন্য অ্যালগরিদমগুলি সন্ধান করি, যেখানে রূপান্তরগুলির ক্রম ঘটে যা একটি সংখ্যার পূর্ণাঙ্গ সেট করে নেয় set আমরা সেই সমস্যাটি নীচের খুব স্বাভাবিক সমস্যাটিতে কমাতে সক্ষম হয়েছি যা মনে হয় দূরত্ব সম্পাদনা করার জন্য সংযোগ রয়েছে, অদলবদল করে গ্রুপিং করা , এবং সর্বনিম্ন সাধারণ স্ট্রিং পার্টিশন ।
সমস্যা : আমাদের একটি স্ট্রিং দেওয়া হয়, যেমন অক্ষরের ক্রম, এবং আমাদের লক্ষ্য এটি সর্বনিম্ন ব্যয়ে একত্রিত করা। এটি হ'ল আমরা পুনরায় সাজানো ক্রমটি চাই যা একইভাবে সমস্ত অক্ষর একে অপরের পাশে থাকে।
অনুমোদিত একমাত্র অপারেশন হ'ল একই রকম অক্ষরের একটি অনুচ্ছেদে বাছাই করা এবং সেই অনুচ্ছেদটি যে কোনও জায়গায় সরিয়ে নেওয়া, এবং এতে আমার 1 ইউনিট ব্যয় হয়।
এই সমস্যার জটিলতার বৈশিষ্ট্যযুক্ত কোনও সহায়তা অনেক প্রশংসা হবে!
উদাহরণ :
- aabcdab: ইনপুট
- BCD এএ AB: প্রথম চলন্ত পর এএ পরে "D" অবস্থান থেকে
- বি বিসিডিএএ: ট্রিলিং বি কে প্রথম অবস্থানে নিয়ে যাওয়ার পরে
যেহেতু ফলাফলটি স্ট্রিংটি একজাতীয়, তাই আমাদের ব্যয় 2 হয়।
নোট করুন যে আমরা আউটপুট সম্পর্কিত কোনওভাবেই বাধা নেই: যতক্ষণ না এটি একজাতীয় হয় ততক্ষণ আমাদের কোনও নির্দিষ্ট ক্রম নিশ্চিত করার প্রয়োজন হয় না।