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

C++ में अधिकतम योग घटते क्रम

इस समस्या में, हमें एन पूर्णांकों की एक सरणी गिरफ्तारी [] दी गई है। हमारा कार्य C++ में अधिकतम योग घटाने के बाद का पता लगाना है।

समस्या का विवरण

हम सरणी से तत्वों का अधिकतम योग इस तरह पाएंगे कि बाद का क्रम सख्ती से घट रहा है।

समस्या को समझने के लिए एक उदाहरण लेते हैं,

इनपुट

arr[] = {3, 1, 6, 10, 5, 2, 9}

आउटपुट

17

स्पष्टीकरण

बाद में अधिकतम योग के साथ घटाना {10, 5, 2} =10 + 5 + 2 =17

है

समाधान दृष्टिकोण

यहां, हम समाधान खोजने के लिए गतिशील प्रोग्रामिंग दृष्टिकोण का उपयोग करेंगे। यहां, हम एक मैक्ससम [] एरे बनाएंगे जो मैक्ससम को इंडेक्स i तक स्टोर करेगा। सरणी मानों को खोजने के लिए निम्न सूत्र का उपयोग किया जाता है,

maxSum[i] =arr[i] + max(maxSum[0 … (*i-1)])

अधिकतम योग सरणी के अधिकतम तत्व द्वारा दिया जाता है maxSum[]।

उदाहरण

हमारे समाधान की कार्यप्रणाली को दर्शाने के लिए कार्यक्रम,

#include <iostream>
using namespace std;
int findMaxSumDecSubSeq(int arr[], int N){
   int maximumSum = 0;
   int maxSum[N];
   for (int i = 0; i < N; i++)
      maxSum[i] = arr[i];
   for (int i = 1; i < N; i++)
      for (int j = 0; j < i; j++)
         if (arr[i] < arr[j] && maxSum[i] < maxSum[j] + arr[i])
         maxSum[i] = maxSum[j] + arr[i];
   for (int i = 0; i < N; i++)
         if (maximumSum < maxSum[i])
            maximumSum = maxSum[i];
   return maximumSum;
}
int main(){
   int arr[] = { 5, 4, 100, 3, 2, 101, 1 };
   int N= sizeof(arr) / sizeof(arr[0]);
   cout<<"The maximum sum of decreasing subsequence is "<<findMaxSumDecSubSeq(arr, N);
   return 0;
}

आउटपुट

The maximum sum of decreasing subsequence is 106

  1. सी++ में अधिकतम सबरे योग मॉड्यूलो एम

    इस समस्या में, हमें n आकार की एक सरणी और एक पूर्णांक m दिया जाता है। हमारा काम एक ऐसा प्रोग्राम बनाना है जो C++ में अधिकतम सबअरे योग मॉड्यूल m ढूंढेगा। कार्यक्रम विवरण - यहां, हम सबएरे के सभी तत्वों के योग को m से विभाजित करके प्राप्त अधिकतम मान प्राप्त करेंगे। समस्या को समझने के लिए एक उदाहरण लेत

  1. C++ में उपसर्ग योग का उपयोग करते हुए O(n) में अधिकतम सबअरे योग

    समस्या कथन सकारात्मक और नकारात्मक पूर्णांकों की एक सरणी को देखते हुए, उस सरणी में अधिकतम सबअरे योग ज्ञात करें उदाहरण यदि इनपुट ऐरे − {-12, -5, 4, -1, -7, 1, 8, -3} है तो आउटपुट 9 है एल्गोरिदम इनपुट सरणी के उपसर्ग योग की गणना करें। प्रारंभ करें− min_prefix_sum =0, रेस =-अनंत i =0 से n के ल

  1. सी ++ में एक सरणी में अधिकतम संतुलन योग

    समस्या कथन एक सरणी को देखते हुए []। उपसर्ग योग का अधिकतम मान ज्ञात करें जो कि गिरफ्तारी में अनुक्रमणिका i के लिए प्रत्यय योग भी है []। उदाहरण यदि इनपुट ऐरे है - Arr[] ={1, 2, 3, 5, 3, 2, 1} तो आउटपुट 11 है - उपसर्ग योग =गिरफ्तारी[0..3] =1 + 2 + 3 + 5 =11 और प्रत्यय योग =गिरफ्तारी[3..6] =5 + 3 +