আমাদের N আকারের পূর্ণসংখ্যার একটি অ্যারে দেওয়া হয়েছে। ভেরিয়েবল L এবং R 1 এবং N-এর মধ্যে একটি পরিসীমা সংজ্ঞায়িত করে। লক্ষ্য হল ক্ষুদ্রতম উপাদানগুলির সংখ্যা খুঁজে বের করা যা L পরিসরে অবস্থিত এবং R যেমন L>=1 এবং R<=N.
-
আমরা L এবং R রেঞ্জে থাকা উপাদানগুলিকে অতিক্রম করে এবং সবচেয়ে ছোটটিকে খুঁজে বের করার মাধ্যমে এটি করব৷
-
আবার, L এবং R রেঞ্জের উপাদানগুলি অতিক্রম করুন এবং ধাপ 1-এ গণনা করা কোনো উপাদান ক্ষুদ্রতমের সমান হলে ইনক্রিমেন্ট গণনা করুন।
উদাহরণ দিয়ে বোঝা যাক।
ইনপুট − arr[]={ 1,2,3,0,3,2,0,1 }, N=8, L=2, R=5
আউটপুট − 1
পরিসরে ক্ষুদ্রতমের গণনাব্যাখ্যা −
L(1) থেকে R(5) রেঞ্জের উপাদানগুলি হল arr[1] থেকে arr[4]। {2,3,0,3}। ক্ষুদ্রতম মান হল 0৷ 0-এর গণনা হল 1৷
৷ইনপুট − arr[]={ 1,2,3,0,3,2,0,1 }, N=8, L=3, R=8
আউটপুট − 2
পরিসরে ক্ষুদ্রতমের সংখ্যাব্যাখ্যা −
L(3) থেকে R(8) রেঞ্জের উপাদানগুলি হল arr[2] থেকে arr[7]। { 3,0,3,2,0,1}। ক্ষুদ্রতম মান হল 0৷ 0-এর গণনা হল 2৷
৷নিম্নলিখিত প্রোগ্রামে ব্যবহৃত পদ্ধতি
-
আমরা একটি পূর্ণসংখ্যা অ্যারে অ্যারে নিই [] এলোমেলো সংখ্যার সাথে শুরু।
-
পূর্ণসংখ্যা L এবং R arr[]-এর ভিতরের পরিসরকে উপস্থাপন করে। কাউন্ট L এবং R.
পরিসরের ক্ষুদ্রতম গণনা সঞ্চয় করে -
ফাংশন গণনা ক্ষুদ্রতম(int arr[],int n,int l, int r) একটি অ্যারে নেয়, এর দৈর্ঘ্য, L এবং R ইনপুট হিসাবে এবং পরিসরের মধ্যে ক্ষুদ্রতম গণনা প্রদান করে৷
-
ক্ষুদ্রতম=arr[l], বামদিকের উপাদান এবং ক্ষুদ্রতমের প্রাথমিক গণনা 0 হিসাবে শুরু করুন।
-
এখন যদি l<0 এবং r>=n হয় তাহলে 0 রিটার্ন করুন, অবৈধ রেঞ্জ দেওয়া আছে।
-
সূচী l-1 থেকে r-1 পর্যন্ত অ্যারেটি অতিক্রম করা শুরু করুন। সবচেয়ে ছোট আপডেট করুন যদি arr[i]
-
আবার, অ্যারেটি l-1 থেকে r-1 পর্যন্ত অতিক্রম করুন, যদি arr[i]==ক্ষুদ্রতম, বৃদ্ধির সংখ্যা।
-
পছন্দসই ফলাফল হিসাবে রিটার্ন গণনা।
-
প্রধান ভিতরে, গণনায় উপস্থিত ফলাফল প্রদর্শন করুন।
উদাহরণ
#include <bits/stdc++.h> using namespace std; // Function to find if number is prime int countSmallest(int arr[],int n,int l, int r){ int smallest=arr[l]; int count=0; if(l<0 && r>=n) return 0; for(int i=l-1;i<r;i++){ if(arr[i]<=smallest){ smallest=arr[i]; } } for(int i=l-1;i<r;i++){ if(arr[i]==smallest){ ++count; } } return count; } int main(){ int arr[] = { 3,2,1,1,2,3 }; int n = 6; int L,R; int count=0; L=1,R=5; count=countSmallest(arr,n,L,R); cout<<endl<<"Count of number of smallest in given range:"<<count; L=3,R=4; count=countSmallest(arr,n,L,R); cout<<endl<<"Count of number of smallest in given range:"<<count; return 0; }
আউটপুট
যদি আমরা উপরের কোডটি চালাই তবে এটি নিম্নলিখিত আউটপুট −
উৎপন্ন করবেCount of number of smallest in given range:2 Count of number of smallest in given range:2