इस समस्या में, हमें n श्रेणी और एक पूर्णांक k दिया गया है। हमारा कार्य दिए गए n श्रेणियों में k-वें सबसे छोटे तत्व को खोजना है।
हमें सरणी से kth सबसे छोटे तत्वों को खोजने की आवश्यकता है जो श्रेणियों के संयोजन के बाद बनाई गई हैं।
समस्या को समझने के लिए एक उदाहरण लेते हैं,
इनपुट: रेंज ={{2, 5}, {7, 9}, {12, 15}}, k =9
आउटपुट: 13
स्पष्टीकरण:
बनाई गई सरणी {2, 3, 4, 5, 7, 8, 9, 12, 13, 14, 15}
हैसबसे छोटा तत्व 13
. हैसमाधान दृष्टिकोण:
समस्या का एक सरल समाधान सभी श्रेणियों से सरणी बनाकर है और जैसा कि इसे श्रेणी से बनाया गया है, इसे आरोही क्रम में भी क्रमबद्ध किया गया है। इसलिए हमें केवल सरणी के kth मान को खोजने की आवश्यकता है।
हमारे समाधान की कार्यप्रणाली को दर्शाने वाला कार्यक्रम,
उदाहरण
#include <iostream> using namespace std; int main(){ int arr[][2] = {{2, 5}, {7, 9}, {12, 15}}; int n = sizeof(arr)/sizeof(arr[0]); int k = 9; int rangeArr[1000]; int size = 0; for(int i = 0; i < n; i++) for(int j = arr[i][0]; j <= arr[i][1]; j++) { rangeArr[size] = j; size++; } if(k < size) cout<<k<<"th smallest element of the ranged array is "<<rangeArr[k]<<endl; else cout<<"invalid Index"; return 0; }
आउटपुट
9th smallest element of the ranged array is 13