एक समस्या को हल करने के लिए जिसमें हमें बॉक्स के आकार वाली एक सरणी दी गई है। अब हमें एक शर्त दी गई है कि हम एक छोटे बॉक्स को बड़े बॉक्स के अंदर फिट कर सकते हैं यदि बड़ा बॉक्स छोटे बॉक्स के आकार का कम से कम दोगुना है। अब हमें यह निर्धारित करना है कि कितने दृश्यमान बॉक्स हैं, उदाहरण के लिए।
इनपुट: arr[] = { 1, 3, 4, 5 } आउटपुट: 3 आकार 1 के बॉक्स को आकार 3 के बॉक्स में डालें। इनपुट: arr[] = { 4, 2, 1, 8 } आउटपुट: 1समाधान खोजने का दृष्टिकोण
इस समस्या में, हमारा दृष्टिकोण हमारी सरणी को सॉर्ट करना होगा अब जैसे ही हम आगे बढ़ते हैं। हम तत्वों को एक कतार में डालते हैं अब। हम देखेंगे कि क्या वर्तमान तत्व कतार के सामने के तत्व के दोगुने से बड़ा या बराबर है जैसे ही हम आगे बढ़ते हैं। यदि यह सत्य है, तो हम सामने के तत्व को पॉप करते हैं। अंत में, हम वर्तमान तत्व को कतार में डालते हैं। अंत में हमारी कतार का आकार हमारा उत्तर होगा।
उदाहरण
#include <bits/stdc++.h> using namespace std; int main(){ int arr[] = { 1, 2, 3, 4, 5, 6 }; // हमारे बॉक्स के आकार वाली दी गई सरणी int n = sizeof(arr) / sizeof(arr[0]); // हमारी सरणी का आकार queue<int> q; sort(arr, arr + n); // हमारी सरणी को सॉर्ट करना q.push(arr[0]); // सबसे छोटे तत्व को सामने डालना for (int i = 1; i < n; i++) { // सरणी को पार करना int curr = q.front(); // वर्तमान तत्व if (arr[i] >= 2 * curr) // यदि वर्तमान बॉक्स का आकार सामने वाले बॉक्स के दोगुने से बड़ा या बराबर है // तो हम सामने वाले को पॉप करते हैं q.pop(); q.push(arr[i]); // वर्तमान तत्व को कतार में डालना } cout << q.size() << "\n"; // हमारा उत्तर return 0; }आउटपुट
3
निष्कर्ष
इस ट्यूटोरियल में, हम एक के अंदर दूसरी डालने के बाद दृश्यमान बॉक्स की संख्या ढूंढने की समस्या को हल करते हैं। हमने इस समस्या के लिए C++ प्रोग्राम और पूरा दृष्टिकोण (सामान्य) भी सीखा जिससे हमने इस समस्या को हल किया। हम यही प्रोग्राम C, Java, Python, और अन्य भाषाओं में भी लिख सकते हैं। आशा है आपको यह ट्यूटोरियल उपयोगी लगा होगा।