-
C++ में दी गई रेंज में विशिष्ट जोड़ी (x, y) ढूंढें जहां x, y को विभाजित करता है
समस्या विवरण एक रेंज [l, r] दी गई है, हमें एक जोड़ी (x, y) ढूंढनी है जहां l ≤ x, y ≤ r और x, y को विभाजित करता है। यदि कई जोड़ियां हैं तो कोई भी एक वापस करें। हल दृष्टिकोण यह समस्या O(1) समय में हल हो सकती है। सबसे छोटा अनुपात y/x = 2 होता है। इसलिए x = l और y = 2l लेने से हमेशा एक वैध जोड़ी मिलती
-
C++ में क्रमबद्ध सरणी में फिक्स्ड पॉइंट (मान सूचकांक के बराबर) ढूंढें
समस्या विवरण एक क्रमबद्ध सरणी में फिक्स्ड पॉइंट वह तत्व है जिसका मान उसके सूचकांक के बराबर होता है। सरणी में नकारात्मक संख्याएं हो सकती हैं। फिक्स्ड पॉइंट मिलने पर उसका मान वापस करें, अन्यथा -1 वापस करें। हल दृष्टिकोण मानक बाइनरी खोज का उपयोग करके O(log n) समय में हल करें: मध्य तत्व जांचें: यदि m
-
C++ में डुप्लिकेट तत्वों वाली सरणी में फिक्स्ड पॉइंट ढूंढें
समस्या विवरण एक क्रमबद्ध सरणी में फिक्स्ड पॉइंट वह तत्व है जिसका मान उसके सूचकांक के बराबर होता है। सरणी में नकारात्मक संख्याएं और डुप्लिकेट तत्व हो सकते हैं। यदि फिक्स्ड पॉइंट मौजूद है तो उसका मान वापस करें, अन्यथा -1 वापस करें। हल दृष्टिकोण बाइनरी खोज का उपयोग करके O(log n) समय में हल करें। डुप्
-
C++ में दी गई संख्या n के लिए x ढूंढें जहां x + अंकों का योग = n
समस्या विवरण एक संख्या n दी गई है, हमें एक मान x ढूंढना है जिससे x + x के अंकों का योग = n हो। उदाहरण के लिए, n = 21 के लिए, x = 15 होगा क्योंकि 15 + (1+5) = 21। हल दृष्टिकोण सरल दृष्टिकोण: 1 से n तक पुनरावृति करें, प्रत्येक संख्या के लिए जांचें कि क्या संख्या + उसके अंकों का योग = n है। यदि हां,
-
C++ में दो सरणियों के योग को बराबर करने वाली जोड़ी ढूंढें
समस्या विवरण दो सरणियां दी गई हैं जिनमें अलग-अलग संख्या में तत्व हैं। हमें एक जोड़ी (x, y) ढूंढनी है जहां x पहली सरणी में है और y दूसरी सरणी में है। इस जोड़ी को स्वैप करने के बाद दोनों सरणियों का योग बराबर होना चाहिए। उदाहरण: सरणी A = [4, 1, 2, 2, 1, 1] (योग = 11) और सरणी B = [3, 3, 6, 3] (योग = 1
-
C++ में पूर्णांकों की सरणी में अधिकतम गुणनफल वाली जोड़ी ढूंढें
समस्या विवरण एक सरणी A दी गई है जिसमें n तत्व हैं (सकारात्मक और नकारात्मक दोनों)। हमें एक जोड़ी (x, y) ढूंढनी है जिसका गुणनफल अधिकतम हो। उदाहरण के लिए, सरणी A = [-1, -4, -3, 0, 2, -5] के लिए, अधिकतम गुणनफल वाली जोड़ी (-4, -5) होगी क्योंकि उनका गुणनफल 20 है। हल दृष्टिकोण हमें चार मान ट्रैक करने हों
-
C++ में दिए गए अंतर वाली जोड़ी ढूंढें
समस्या विवरण एक सरणी A दी गई है जिसमें n विभिन्न तत्व हैं। हमें सरणी से एक जोड़ी (x, y) ढूंढनी है जिससे x और y का अंतर दिए गए अंतर d के बराबर हो। उदाहरण के लिए, यदि सरणी A = [10, 15, 26, 30, 40, 70] है और दिया गया अंतर 30 है, तो जोड़ियां (10, 40) और (30, 70) होंगी। हल दृष्टिकोण इस समस्या को हल करन
-
C++ में वह बिंदु खोजें जहां मैनहट्टन दूरियों का योग न्यूनतम हो
मान लीजिए हमारे पास K आयाम स्थान में n अलग-अलग बिंदु हैं, n का मान (2, 105) रेंज में है, और k का मान (1 से 5) रेंज में है। हमें वह बिंदु निर्धारित करना है जिससे n बिंदुओं तक मैनहट्टन दूरी का योग न्यूनतम हो। दो बिंदुओं P1(x1, y1) और P2(x2, y2) के बीच मैनहट्टन दूरी है |x1 – x2| + |y1 – y2|। मान लीजिए
-
C++ में सबसे बड़े ज्यामितीय माध्य वाला सबसेट खोजें
यहां हमारे पास कुछ तत्वों के साथ एक सरणी A है। हमारा कार्य वह सबसेट ढूंढना है जहां ज्यामितीय माध्य अधिकतम हो। मान लीजिए A = [1, 5, 7, 2, 0], तो सबसे बड़े ज्यामितीय माध्य वाला सबसेट [5, 7] होगा। इसे हल करने के लिए, हम एक ट्रिक का पालन करेंगे, हम माध्य नहीं ढूंढेंगे, क्योंकि हम जानते हैं कि सबसे बड़े
-
C++ में क्रम N का एक सममित मैट्रिक्स खोजें जिसमें 0 से N-1 तक के पूर्णांक हों और मुख्य विकर्ण में केवल 0 हों
यहां हम देखेंगे कि क्रम N का एक सममित मैट्रिक्स कैसे उत्पन्न किया जाए, और प्रत्येक पंक्ति के तत्वों में 0 से N-1 तक की संख्याएं हों। विकर्ण तत्व हमेशा 0 होंगे। यह कार्य आसान है, हम N x N का एक मैट्रिक्स बनाएंगे, फिर प्रत्येक पंक्ति i और प्रत्येक स्तंभ j के लिए, यदि i और j समान हैं, तो इसे 0 के रूप
-
C++ में सभी डुप्लिकेट सबट्री खोजें
मान लीजिए हमारे पास एक बाइनरी ट्री है। हमें यह पता लगाना है कि ट्री में कुछ डुप्लिकेट सबट्री हैं या नहीं। मान लीजिए हमारे पास नीचे जैसा बाइनरी ट्री है: आकार 2 के दो समान सबट्री हैं। प्रत्येक सबट्री में D, BD और BE भी डुप्लिकेट सबट्री हैं। हम इस समस्या को ट्री सीरियलाइज़ेशन और हैशिंग प्रक्रिया का उ
-
C++ में n से कम या बराबर सभी फैक्टोरियल संख्याएं खोजें
यहां हम देखेंगे कि n से कम या बराबर सभी फैक्टोरियल संख्याओं को कैसे प्रिंट किया जाए। एक संख्या N को फैक्टोरियल संख्या कहा जाता है यदि यह किसी धनात्मक संख्या का फैक्टोरियल है। इसलिए कुछ फैक्टोरियल संख्याएं हैं: 1, 2, 6, 24, 120। फैक्टोरियल संख्याओं को प्रिंट करने के लिए, हमें सीधे फैक्टोरियल खोजने क
-
C++ में सरणी में उन सभी जोड़े (a, b) को खोजें जैसे कि a % b = k
मान लीजिए हमारे पास एक सरणी A है, उस सरणी से हमें सभी जोड़े (a, b) प्राप्त करने हैं जैसे कि a%b = k। मान लीजिए सरणी A = [2, 3, 4, 5, 7], और k = 3, तो जोड़े हैं (7, 4), (3, 4), (3, 5), (3, 7)। इसे हल करने के लिए, हम सूची को पार करेंगे और जांचेंगे कि दी गई शर्त पूरी हो रही है या नहीं। उदाहरण #include
-
C++ में सरणी में उन सभी जोड़े (a,b) और (c,d) को खोजें जो ab = cd को संतुष्ट करते हैं
मान लीजिए हमारे पास एक सरणी A है, उस सरणी से हमें दो जोड़े (a, b) और (c, d) चुनने हैं, जैसे कि ab = cd। मान लीजिए सरणी A = [3, 4, 7, 1, 2, 9, 8]। आउटपुट जोड़े हैं (4, 2) और (1, 8)। इसे हल करने के लिए, हम इन चरणों का पालन करेंगे: i := 0 से n-1 तक, करें j := i + 1 से n-1 तक, करें product = arr[i]
-
C++ में दिए गए मिश्रण में लक्ष्य अनुपात प्राप्त करने के लिए जोड़ी जाने वाली मात्रा ज्ञात करें
मान लीजिए हमारे पास आकार X का एक कंटेनर है। इसमें पानी और अन्य तरल का मिश्रण है, जिसमें W% पानी है। हमें यह पता लगाना है कि पानी की मात्रा कितनी बढ़ाई जाए ताकि पानी का अनुपात Y% हो जाए? यदि X = 125, W = 20 और Y = 25, तो आउटपुट 8.33 लीटर होगा। मान लीजिए हमें पिछले मिश्रण में A मात्रा में पानी मिलाना
-
C++ का उपयोग करके 3x3 मैट्रिक्स के विकर्ण को भरें ताकि प्रत्येक पंक्ति, कॉलम और विकर्ण का योग समान हो
मान लीजिए हमारे पास एक 3x3 मैट्रिक्स है, जिसके विकर्ण तत्व पहले खाली हैं। हमें विकर्ण को इस तरह भरना है कि पंक्ति, कॉलम और विकर्ण का योग समान हो। मान लीजिए एक मैट्रिक्स इस तरह है: भरने के बाद, यह इस तरह होगा: मान लीजिए विकर्ण तत्व x, y, z हैं। मान होंगे: x = (M[2, 3] + M[3, 2]) / 2 z = (M[1, 2]
-
C++ का उपयोग करके एक संख्या x खोजें जिसके अंकों का योग x के बराबर दिए गए n के बराबर हो
यहां हम एक समस्या देखेंगे, जहां हम एक संख्या n लेते हैं, हमें एक अन्य मान x ढूंढना है, जैसे कि x + x के अंकों का योग दी गई संख्या n के बराबर हो। मान लीजिए n का मान 21 है। यह प्रोग्राम x = 15 लौटाएगा, क्योंकि 15 + 15 के अंकों का योग (1+5) = 21 = n होता है। इसे हल करने के लिए, हमें सरल दृष्टिकोण अपना
-
C++ का उपयोग करके सरणी में ऐसा तत्व खोजें जिससे सभी तत्व विभाज्य हों
मान लीजिए हमारे पास कुछ तत्वों के साथ एक सरणी A है। हमें A से एक ऐसा तत्व ढूंढना है जिससे सभी तत्व इससे विभाज्य हों। मान लीजिए A = [15, 21, 69, 33, 3, 72, 81] है, तो तत्व 3 होगा, क्योंकि सभी संख्याएं 3 से विभाज्य हैं। इस समस्या को हल करने के लिए, हम A में सबसे छोटी संख्या लेंगे, फिर जांचेंगे कि क्य
-
C++ का उपयोग करके सरणी में ऐसा तत्व खोजें जिसके बाएं और दाएं उपसरणी का योग समान हो
मान लीजिए हमारे पास एक सरणी A है, जिसमें n तत्व हैं। हमारा कार्य सरणी A को दो उपसरणी में विभाजित करना है, ताकि प्रत्येक उपसरणी का योग समान हो। मान लीजिए सरणी A = [2, 3, 4, 1, 4, 5], आउटपुट 1 है, इसलिए 1 से पहले और बाद की उपसरणी ली जाती हैं: [2, 3, 4], और [4, 5]। इस समस्या को हल करने के लिए, हम पहले
-
C++ का उपयोग करके ब्रैकेट की स्ट्रिंग में समान बिंदु खोजें
यहां हम देखेंगे कि ब्रैकेट की स्ट्रिंग में समान बिंदु कैसे प्राप्त करें। समान बिंदु वह सूचकांक I है, जिसके पहले खुलने वाले ब्रैकेट की संख्या उसके बाद बंद होने वाले ब्रैकेट की संख्या के बराबर होती है। मान लीजिए एक ब्रैकेट स्ट्रिंग है (()))(()()()))), यदि हम ध्यान से देखें, तो हम पा सकते हैं कि इंडेक