Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> C++

C++ में एक के अंदर दूसरी डालने के बाद दृश्यमान बॉक्स की संख्या


एक समस्या को हल करने के लिए जिसमें हमें बॉक्स के आकार वाली एक सरणी दी गई है। अब हमें एक शर्त दी गई है कि हम एक छोटे बॉक्स को बड़े बॉक्स के अंदर फिट कर सकते हैं यदि बड़ा बॉक्स छोटे बॉक्स के आकार का कम से कम दोगुना है। अब हमें यह निर्धारित करना है कि कितने दृश्यमान बॉक्स हैं, उदाहरण के लिए।

इनपुट: 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, और अन्य भाषाओं में भी लिख सकते हैं। आशा है आपको यह ट्यूटोरियल उपयोगी लगा होगा।

  1. - C++ प्रोग्राम: हटाने की संक्रियाओं के बाद सरणी का कम आकार ढूंढें

    मान लीजिए हमारे पास n तत्वों वाला एक सरणी A है। मान लें कि n धनात्मक पूर्णांकों वाला एक पासवर्ड है। हम सरणी पर निम्नलिखित संक्रियाएं लागू करते हैं। संक्रिया है दो आसन्न तत्वों को हटाना जो एक दूसरे के समान नहीं हैं, फिर उस स्थान पर उनका योग रखें। तो यह संक्रिया सरणी के आकार को 1 से कम कर देगी। हमें

  1. ग्रिड में रोशन सेल्स की संख्या ज्ञात करने का C++ प्रोग्राम ग्रिड में रोशन सेल्स की संख्या ज्ञात करने का C++ प्रोग्राम

    मान लीजिए h × w आयाम का एक ग्रिड दिया गया है। ग्रिड की सेल्स में बल्ब या बाधाएँ हो सकती हैं। एक बल्ब सेल स्वयं और अपने दाएँ, बाएँ, ऊपर, नीचे की सेल्स को रोशन करता है। प्रकाश सेल्स के माध्यम से चमकता है जब तक कि कोई बाधा सेल इसे न रोक दे। बाधा सेल न तो रोशन हो सकती है और न ही प्रकाश को गुजरने देती ह

  1. - Python में एक बॉक्स के अंदर फिट होने वाले अधिकतम बॉक्स की संख्या खोजने का प्रोग्राम

    मान लीजिए हमारे पास बॉक्स की एक सूची है जहां प्रत्येक पंक्ति दिए गए बॉक्स की ऊंचाई और चौड़ाई को दर्शाती है। हम एक बॉक्स को दूसरे बॉक्स में रख सकते हैं यदि पहला बॉक्स दूसरे से छोटा है (जब इसकी चौड़ाई और ऊंचाई दोनों दूसरे बॉक्स से छोटी हैं), हमें एक बॉक्स के अंदर फिट होने वाले बॉक्स की अधिकतम संख्या ढ