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

अधिकतम योग वृद्धि क्रम


अधिकतम योग वृद्धि अनुक्रम पूर्णांकों की दी गई सूची का एक क्रम है, जिसका योग अधिकतम होता है और बाद में, सभी तत्वों को बढ़ते क्रम में क्रमबद्ध किया जाता है।

मान लें कि अधिकतम योग वृद्धि क्रम को संग्रहीत करने के लिए एक सरणी है, जैसे कि L[i] अधिकतम योग वृद्धि क्रम है, जो सरणी [i] के साथ समाप्त हो रहा है।

इनपुट और आउटपुट

<पूर्व>इनपुट:पूर्णांकों का अनुक्रम। {3, 2, 6, 4, 5, 1}आउटपुट:बढ़ते क्रम जिसका योग अधिकतम है। {3, 4, 5}.

एल्गोरिदम

maxSumSubSeq(array, n)

इनपुट: संख्याओं का क्रम, तत्वों की संख्या।

आउटपुट: बढ़ते उप क्रम का अधिकतम योग।

आकार n के subSeqLen नामक सरणियों की सरणी को परिभाषित करना शुरू करें। श्रेणी में (1 से n-1) के लिए सबसेक्लेन में एआर [0] जोड़ें, रेंज में जे के लिए करें (0 से आई-1), अगर एआर [i]> एआर [जे] और सबसेकलेन का योग [i] करें ]  subSeqLen[res] का योग, फिर res :=subSeqLen[i] res.End के मानों को प्रिंट करें।

उदाहरण

#शामिल #शामिल <वेक्टर>नाम स्थान एसटीडी का उपयोग करना; int findAllSum(vector arr) {// सभी वेक्टर तत्वों का योग खोजें int sum =0; for(int i =0; i> subSeqLen(n); // गिरफ्तारी के साथ समाप्त होने वाली अधिकतम राशि वृद्धि [i] सबसेकलेन [0]। पुश_बैक (गिरफ्तारी [0]); के लिए (int i =1; i  arr[j]) &&(findAllSum(subSeqLen[i])  res =subSeqLen [0]; for(int i =0; i findAllSum(res)) res =subSeqLen[i]; } for(int i =0; i 

आउटपुट

अधिकतम योग अनुवर्ती है:3 4 5

  1. C++ में अधिकतम योग सर्कुलर सबरे

    मान लीजिए कि हमारे पास ए द्वारा दर्शाए गए पूर्णांकों की एक गोलाकार सरणी सी है, हमें सी के एक गैर-रिक्त उपसरणी का अधिकतम संभव योग खोजना होगा। साथ ही, एक सबरे में केवल एक बार में निश्चित बफर ए के प्रत्येक तत्व को शामिल किया जा सकता है। यदि सरणी [1,-2,3,-2] की तरह है, तो आउटपुट 3 होगा। ऐसा इसलिए है क्य

  1. C++ में सबसे लंबे समय तक बढ़ते क्रम की संख्या

    मान लीजिए कि हमारे पास पूर्णांकों की एक क्रमबद्ध श्रेणी नहीं है। हमें सबसे लंबे समय तक बढ़ते क्रम की संख्या ज्ञात करनी है, इसलिए यदि इनपुट [1, 3, 5, 4, 7] जैसा है, तो आउटपुट 2 होगा, क्योंकि बढ़ते क्रम [1,3,5,7] हैं और [1, 3, 4, 7] इसे हल करने के लिए, हम इन चरणों का पालन करेंगे - n :=संख्या सरणी का

  1. C++ में अधिकतम योग सख्ती से बढ़ते हुए सबरे का पता लगाएं

    मान लीजिए कि हमारे पास n पूर्णांकों की एक सरणी है। सख्ती से बढ़ते उपसरणियों का अधिकतम योग ज्ञात कीजिए। तो अगर सरणी [1, 2, 3, 2, 5, 1, 7] की तरह है, तो योग 8 है। इस सरणी में तीन सख्ती से बढ़ते उप-सरणी हैं ये {1, 2, 3}, {2 , 5} और {1, 7}। अधिकतम योग उप-सरणी {1, 7} है इस समस्या को हल करने के लिए, हमें