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

सी ++ में दिए गए ऑपरेशन के साथ सरणी योग को अधिकतम करना

विवरण

(2 * n - 1) पूर्णांकों की एक सरणी है। हम सरणी में बिल्कुल n तत्वों का चिह्न बदल सकते हैं। दूसरे शब्दों में, हम बिल्कुल n सरणी तत्वों का चयन कर सकते हैं, और उनमें से प्रत्येक को -1 से गुणा कर सकते हैं। सरणी का अधिकतम योग ज्ञात करें।

उदाहरण

यदि इनपुट ऐरे {-2, 100, -3} है तो हम -2 और -3 के अधिकतम बदलते संकेत प्राप्त कर सकते हैं। साइन एरे बदलने के बाद बन जाता है -

{2, 100, 3} और इस सरणी का अधिकतम योग 105 है।

एल्गोरिदम

  • नकारात्मक संख्याओं की गणना करें
  • संख्याओं के निरपेक्ष मान लेकर सरणी के योग की गणना करें।
  • संख्याओं के निरपेक्ष मान लेकर सरणी की न्यूनतम संख्या ज्ञात करें
  • जांचें कि क्या नहीं। ऋणात्मक संख्याओं का विषम है और n का मान तब भी योग से दो गुना m घटा रहा है और यह सरणी का अधिकतम योग होगा, योग का मान सरणी का अधिकतम योग होगा
  • उपरोक्त चरणों को (2 * n - 1) बार दोहराएं

उदाहरण

आइए अब एक उदाहरण देखें -

#include <bits/stdc++.h>
using namespace std;
int getMaxSum(int *arr, int n) {
   int negtiveCnt = 0;
   int sum = 0;
   int m = INT_MAX;
   for (int i = 0; i < 2 * n - 1; ++i) {
      if (arr[i] < 0) {
         ++negtiveCnt;
      }
      sum = sum + abs(arr[i]);
      m = min(m, abs(arr[i]));
   }
   if (negtiveCnt % 2 && n % 2 == 0) {
      sum = sum - 2 * m;
      return sum;
   }
   return sum;
}
int main() {
   int arr[] = {-2, 100, -3};
   int n = 2;
   cout << "Maximum sum = " << getMaxSum(arr, n) << endl;
   return 0;
}

आउटपुट

Maximum sum = 105

  1. सी ++ एसटीएल में ऐरे योग

    सरणी एक रैखिक डेटा संरचना है जो समान डेटा प्रकार के तत्वों को निरंतर स्मृति स्थानों में संग्रहीत करती है। सरणी योग सरणी के सभी तत्वों का योग है। सी ++ प्रोग्रामिंग भाषा में कई विधियां हैं जिनके साथ आप सरणी योग पा सकते हैं। शास्त्रीय पद्धति सरणी के सभी तत्वों का योग खोजने की मूल विधि सरणी के तत्वो

  1. सी ++ में पूर्ण अंतर के न्यूनतम योग के साथ ऐरे तत्व?

    यह कार्यक्रम सरणी के न्यूनतम पूर्ण अंतर को खोजने के लिए है, क्योंकि हमारे पास एक सरणी है जिसमें विशिष्ट तत्व हैं। इस अवधारणा को बेहतर ढंग से सीखने के लिए आवश्यक चीजों को फिर से ब्रश करें, सरणी समान डेटा प्रकार के तत्वों का एक कंटेनर है। सरणी की लंबाई को पूर्वनिर्धारित करने की आवश्यकता है। पूर्ण अं

  1. सी++ सम ऐरे पहेली

    सरणी एक डेटा संरचना है जो एक ही डेटा प्रकार के कई तत्वों को संग्रहीत करती है। यह मूल्यों के पूरे सेट को एक साथ स्टोर कर सकता है। लेकिन इसकी लंबाई पहले से तय करने की जरूरत है। इस योग सरणी पहेली में, हमें एक निश्चित आकार, मान लीजिए n की एक सरणी A1 दी गई है। इस पहेली को हल करने के लिए, हम S1 नामक एक स