এই প্রবন্ধে, আমাদের একটি প্রদত্ত ক্রমানুসারে সেগমেন্ট বা সাবয়ারের সংখ্যা খুঁজে বের করতে হবে যেখানে প্রদত্ত সংখ্যা X-এর থেকে বড় উপাদান৷
আমরা ওভারল্যাপিং সেগমেন্ট শুধুমাত্র একবার গণনা করতে পারি, এবং দুটি সংলগ্ন উপাদান বা সেগমেন্ট আলাদাভাবে গণনা করা উচিত নয়। তাই এখানে প্রদত্ত সমস্যার মূল উদাহরণ -
Input : arr[ ] = { 9, 6, 7, 11, 5, 7, 8, 10, 3}, X = 7 Output : 3 Explanation : { 9 }, { 11 } and { 8, 10 } are the segments greater than 7 Input : arr[ ] = { 9, 6, 12, 2, 11, 14, 8, 14 }, X = 8 Output : 4 Explanation : { 9 }, { 12 }, { 11, 14 } and { 14 } are the segments greater than 8এর চেয়ে বড় সেগমেন্ট
সমাধান খোঁজার পদ্ধতি
নিষ্পাপ দৃষ্টিভঙ্গি
এই সমস্যায়, আমরা একটি পরিবর্তনশীল state শুরু করছি 0 দিয়ে এবং প্রদত্ত অ্যারেটি প্রক্রিয়াকরণ শুরু করুন এবং X-এর চেয়ে বড় উপাদান পাওয়া গেলে 1-এ রাজ্য পরিবর্তন করুন এবং উপাদানগুলি প্রক্রিয়াকরণ চালিয়ে যান এবং X-এর চেয়ে কম বা সমান সংখ্যা পাওয়া গেলে স্থিতি 0-এ পরিবর্তন করুন এবং 1-এর সাথে সংখ্যা বৃদ্ধি করুন। প্রতিবার স্টেট 1 এ যায় এবং 0 এ ফিরে যায়।
উদাহরণ
#include <bits/stdc++.h> using namespace std; int main (){ int a[] = { 9, 6, 12, 2, 11, 14, 8, 14 }; int n = sizeof (a) / sizeof (a[0]); int X = 8; int state = 0; int count = 0; // traverse the array for (int i = 0; i < n; i++){ // checking whether element is greater than X if (a[i] > X){ state = 1; } else{ // if flag is true if (state) count += 1; state = 0; } } // checking for the last segment if (state) count += 1; cout << "Number of segments where all elements are greater than X: " << count; return 0; }
আউটপুট
Number of segments where all elements are greater than X: 4
উপরের প্রোগ্রামের ব্যাখ্যা
উপরের প্রোগ্রামে, আমরা স্টেটটিকে একটি সুইচ হিসাবে ব্যবহার করছি, এবং X-এর চেয়ে বড় একটি সংখ্যা পাওয়া গেলে আমরা এটিকে 1 এ সেট করি এবং X-এর চেয়ে কম বা সমান একটি সংখ্যা পাওয়া গেলে এটিকে 0 এ সেট করি এবং প্রতিবার রাজ্যের জন্য 1 এ যায় এবং 0 এ ফিরে আসে আমরা গণনা 1 দ্বারা বৃদ্ধি করি। অবশেষে, গণনায় সংরক্ষিত ফলাফলটি প্রিন্ট করা হয়।
উপসংহার
এই নিবন্ধে, আমরা যখনই একটি সেগমেন্ট পাওয়া যায় তখন 1 এবং 0-এ স্টেট সেট করার পদ্ধতি প্রয়োগ করে সমস্ত উপাদান যেখানে X-এর চেয়ে বড় সেগমেন্টের সংখ্যা খুঁজে বের করার সমস্যার সমাধান করি। আমরা এই প্রোগ্রামটিকে অন্য যেকোনো প্রোগ্রামিং ল্যাঙ্গুয়েজ যেমন সি, জাভা, পাইথন ইত্যাদিতে লিখতে পারি।