हमें आकार N के पूर्णांकों की एक सरणी दी गई है। चर L और R, 1 और N के बीच की सीमा को परिभाषित करते हैं। लक्ष्य L और श्रेणी में स्थित सबसे छोटे तत्वों की संख्या ज्ञात करना है। R ऐसा है कि L>=1 और R<=N.
-
हम एल और आर की श्रेणी में आने वाले तत्वों का पता लगाकर ऐसा करेंगे और सबसे छोटा पाएंगे।
-
फिर से, श्रेणी एल और आर के तत्वों को पार करें और वृद्धि की गणना करें यदि कोई तत्व चरण 1 में गणना की गई सबसे छोटी गणना के बराबर है।
आइए उदाहरणों से समझते हैं।
इनपुट - एआर [] ={ 1,2,3,0,3,2,0,1 }, एन=8, एल=2, आर=5
आउटपुट − श्रेणी में सबसे छोटे की संख्या − 1
स्पष्टीकरण -
एल(1) से लेकर आर(5) तक के तत्व गिरफ्तार [1] से गिरफ्तार [4] हैं। { 2,3,0,3}। सबसे छोटा मान 0 है। 0 की संख्या 1 है।
इनपुट - गिरफ्तारी [] ={ 1,2,3,0,3,2,0,1 }, एन=8, एल=3, आर=8
आउटपुट − श्रेणी में सबसे छोटे की संख्या − 2
स्पष्टीकरण -
एल(3) से लेकर आर(8) तक के तत्वों को गिरफ्तार किया गया है [2] से गिरफ्तार [7]। {3,0,3,2,0,1}। सबसे छोटा मान 0 है। 0 की संख्या 2 है।
नीचे दिए गए प्रोग्राम में इस्तेमाल किया गया तरीका इस प्रकार है
-
हम एक पूर्णांक सरणी लेते हैं arr[] यादृच्छिक संख्याओं के साथ आरंभ किया गया।
-
पूर्णांक एल और आर गिरफ्तारी [] के अंदर की सीमा का प्रतिनिधित्व करते हैं। काउंट एल और आर रेंज में सबसे छोटे की गिनती को स्टोर करता है।
-
फ़ंक्शन countSmallest(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