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

का अधिकतम मूल्य |arr[0] - arr[1] - + |arr[1] - arr[2] - + … +|arr[n - 2] - arr[n - 1] - जब तत्व 1 से लेकर 1 तक हों सी ++ में एन


इस समस्या में, हमें [1,n] श्रेणी के n पूर्णांकों की एक सरणी दी गई है। हमारा काम एक ऐसा प्रोग्राम बनाना है जो |arr[0] - arr[1] - + |arr[1] - arr[2] - + … +|arr[n - 2] - arr[ का अधिकतम मान प्राप्त करेगा। n - 1]।

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

इनपुट - सरणी ={1, 2, 3}

आउटपुट -3

स्पष्टीकरण -

max sum is
|1-3|+|2-1| = 3

इस समस्या को हल करने के लिए, सरणी से सभी क्रमपरिवर्तन बनाना एक आसान तरीका है। और क्रमचय से सभी मानों का अधिकतम मान ज्ञात कीजिए। एक अधिक प्रभावी तरीका यह है कि n के प्रत्येक मान के लिए सभी अधिकतम मानों का सामान्यीकरण किया जाए और फिर एक सामान्य सूत्र बनाया जाए।

तो,

Maximum sum for (n = 1) = 0
Maximum sum for (n = 2) = 1
Maximum sum for (n = 3) = 3
Maximum sum for (n = 4) = 7
Maximum sum for (n = 5) = 11
So, the maximum value is 0, 1, 3, 7, 11…
. है

सामान्य सूत्र है, ((n*n/2)-1)

उदाहरण

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

#include <iostream>
using namespace std;
int maxAbsVal(int n) {
   if (n == 1)
      return 0;
   return ((n*n/2) - 1);
}
int main() {
   int n = 4;
   cout<<"The maximum sum of absolute difference is "<<maxAbsVal(n);
   return 0;
}

आउटपुट

The maximum sum of absolute difference is 7

  1. सर्कुलर सरणी में अधिकतम योग जैसे कि कोई भी दो तत्व सी ++ में आसन्न नहीं हैं

    इस समस्या में, हमें एक वृत्ताकार सरणी cirArr[] दी गई है। हमारा काम सर्कुलर सरणी में अधिकतम योग खोजने के लिए एक प्रोग्राम बनाना है जैसे कि कोई भी दो तत्व सी ++ में आसन्न नहीं हैं। समस्या का विवरण वृत्ताकार सरणी के लिए, हमें सरणी के तत्वों का अधिकतम योग ज्ञात करना होगा जैसे कि आसन्न तत्वों को नहीं लि

  1. समय हटाने पर सरणी से अधिकतम निष्कासन>=C++ में प्रतीक्षा समय

    =प्रतीक्षा समय। तो, यहां हम सरणी के तत्वों को हटा देंगे। सरणी के तत्व का मान निष्कासन समय (सरणी से तत्व को निकालने में लगने वाला समय) दर्शाता है। तत्व का एक प्रतीक्षा समय होता है जो वह समय होता है जब तक इसे हटा दिए जाने तक प्रतीक्षा करनी होगी। तत्व को केवल तभी हटाया जा सकता है जब हटाने का समय उसक

  1. C++ में लिटरल क्या हैं?

    एक शाब्दिक स्रोत कोड के भीतर किसी मान का प्रतिनिधित्व करने के लिए कोई भी संकेतन है। वे सिर्फ आपके स्रोत कोड में मौजूद हैं और स्मृति में कोई संदर्भ नहीं है। इसकी तुलना पहचानकर्ताओं से करें, जो स्मृति में किसी मान को संदर्भित करते हैं। C++ में कई प्रकार के लिटरल हैं। शाब्दिक के कुछ उदाहरण हैं - नमस्त