সমস্যা বিবৃতি
একটি বাইনারি স্ট্রিং দেওয়া, কাজটি হল এই বাইনারি স্ট্রিং থেকে সাবস্ট্রিং 010 অপসারণের সর্বনিম্ন পদক্ষেপগুলি গণনা করা
উদাহরণ
যদি ইনপুট স্ট্রিং 010010 হয় তাহলে 2টি ধাপ প্রয়োজন
- প্রথম 0 থেকে 1 রূপান্তর করুন। এখন স্ট্রিং 110010 হয়ে যায়
- শেষ 0 থেকে 1 রূপান্তর করুন। এখন চূড়ান্ত স্ট্রিং 110011 হয়ে গেছে
অ্যালগরিদম
<পূর্ব>1. সূচক 0 sto n-22 থেকে স্ট্রিংটি পুনরাবৃত্তি করুন। যদি বাইনারি স্ট্রিং-এ পরপর তিনটি অক্ষর থাকে ‘0’, ‘1’, ‘0’ তাহলে যেকোনো একটি অক্ষর পরিবর্তন করা যেতে পারে লুপ কাউন্টারটি 2 দ্বারা বৃদ্ধি করুনউদাহরণ
#includeনেমস্পেস ব্যবহার করে std;int getMinSteps(string str) { int cnt =0; জন্য (int i =0; i আপনি যখন উপরের প্রোগ্রামটি কম্পাইল এবং এক্সিকিউট করবেন। এটি নিম্নলিখিত আউটপুট তৈরি করে
আউটপুট
সর্বনিম্ন প্রয়োজনীয় পদক্ষেপ =2