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

C++ में 1 से n तक के एलिमेंट्स होने पर |arr[0] – arr[1]| + |arr[1] – arr[2]| + … + |arr[n-2] – arr[n-1]| का अधिकतम मान


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

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

इनपुट − array= {1, 2, 3}

आउटपुट − 3

व्याख्या −

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

इस समस्या को हल करने के लिए, एक सरल दृष्टिकोण ऐरे से सभी क्रमचय बनाना है। और क्रमचय से सभी मानों का अधिकतम मान ढूंढना। एक अधिक प्रभावी विधि प्रत्येक n मान के लिए सभी अधिकतम मानों को सामान्यीकृत करना और फिर एक सामान्य सूत्र बनाना है।

तो,

(n = 1) के लिए अधिकतम योग = 0 (n = 2) के लिए अधिकतम योग = 1 (n = 3) के लिए अधिकतम योग = 3 (n = 4) के लिए अधिकतम योग = 7 (n = 5) के लिए अधिकतम योग = 11 तो, अधिकतम मान 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. सर्कुलर ऐरे में अधिकतम योग जहाँ कोई दो आसन्न तत्व न हों - C++ सर्कुलर ऐरे में अधिकतम योग जहाँ कोई दो आसन्न तत्व न हों - C++

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

  1. - C++ में रिमूवल टाइम >= वेटिंग टाइम होने पर एरे से अधिकतम रिमूवल

    इस समस्या में, हमें N तत्वों का एक एरे दिया गया है। हमारा कार्य एरे से अधिकतम रिमूवल ढूंढना है जब रिमूवल टाइम >= वेटिंग टाइम हो।तो, यहां हम एरे के तत्वों को हटा रहे होंगे। एरे के तत्व का मान रिमूवल टाइम को दर्शाता है (एरे से तत्व को हटाने में लगने वाला समय)।तत्व का एक वेटिंग टाइम होता है जो वह सम

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

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