কম্পিউটার

C++ ব্যবহার করে একটি স্ট্রিংকে অন্যটিতে রূপান্তর করতে ন্যূনতম সংখ্যা মুছে ফেলা এবং সন্নিবেশ করানো।


বিবরণ

যথাক্রমে m এবং n আকারের দুটি স্ট্রিং str1 এবং str2 দেওয়া হয়েছে। কাজটি হল str1 থেকে/এ ন্যূনতম সংখ্যক অক্ষর মুছে ফেলা এবং সন্নিবেশ করা যাতে এটিকে str2 তে রূপান্তর করা যায়।

Str1 =“tutorialspoint”Str2 =“tutorials”str1 থেকে str2 রূপান্তর করতে আমাদের str1 থেকে পাঁচটি অক্ষর অর্থাৎ “পয়েন্ট” মুছে ফেলতে হবে।

অ্যালগরিদম

<পূর্ব>1. str1 এবং str2-এর দীর্ঘতম সাধারণ অনুক্রম খুঁজুন। আসুন এটিকে "lcsSize" 2 হিসাবে বলি। মুছে ফেলা অক্ষরের সংখ্যা =(str1 - lcsSize এর দৈর্ঘ্য)3. ঢোকানো অক্ষরের সংখ্যা =(str2 - lcsSize এর দৈর্ঘ্য)

উদাহরণ

#include #include  namespace ব্যবহার করে std;int lcs(string s1, string s2, int m, int n){ if (m ==0 || n ==0) { ফেরত 0; } যদি (s1[m - 1] ==s2[n - 1]) { রিটার্ন 1 + lcs(s1, s2, m - 1, n - 1); } else { রিটার্ন max(lcs(s1, s2, m, n - 1), lcs(s1, s2, m - 1, n)); }} void minDeletionAndInsertion(string s1, string s2){ int m =s1.size(); int n =s2.size(); int lcsSize =lcs(s1, s2, m, n); cout <<"মিনিট অপসারণ =" <<(m - lcsSize) < 

আউটপুট

আপনি যখন উপরের প্রোগ্রামটি কম্পাইল এবং এক্সিকিউট করবেন। এটি নিম্নলিখিত আউটপুট −

তৈরি করে
সর্বনিম্ন মুছে ফেলা =5মিনিট সন্নিবেশ =0

  1. C++ ব্যবহার করে একটি গ্রিডে এক পয়েন্ট থেকে অন্য পয়েন্টে যাওয়ার উপায়ের সংখ্যা খুঁজুন

  2. C++ ব্যবহার করে অন্যটিতে উপস্থিত একটি স্ট্রিংয়ের সাবস্ট্রিংয়ের সংখ্যা খুঁজুন

  3. C++ ব্যবহার করে একটি স্ট্রিং এর সাবস্ট্রিং এর সংখ্যা খুঁজুন

  4. স্ট্রিংকে নম্বরে রূপান্তরিত করা হচ্ছে এবং C++-এ এর বিপরীতে