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

C++ में दूसरी सरणी में अद्वितीय तत्वों वाली विंडो का अधिकतम योग


दो समान आकार की सरणियाँ A और B दी गई हैं। सरणी B में एक विंडो (उपसरणी) ढूंढें जिसका योग अधिकतम हो, शर्त कि सरणी A में उसी विंडो के सभी तत्व अद्वितीय हों।

स्लाइडिंग विंडो + हैश सेट का उपयोग करें।

उदाहरण: A={0,1,2,3,0,1,4}, B={9,8,1,2,3,4,5} → अधिकतम योग 20।

C++ कार्यान्वयन

#include <bits/stdc++.h>
using namespace std;

int returnMaxSum(int A[], int B[], int n) {
    unordered_set mp;
    int result = 0, curr_sum = 0, curr_begin = 0;
    for (int i = 0; i < n; ++i) {
        while (mp.find(A[i]) != mp.end()) {
            mp.erase(A[curr_begin]);
            curr_sum -= B[curr_begin];
            curr_begin++;
        }
        mp.insert(A[i]);
        curr_sum += B[i];
        result = max(result, curr_sum);
    }
    return result;
}

int main() {
    int A[] = {0, 1, 2, 3, 0, 1, 4};
    int B[] = {9, 8, 1, 2, 3, 4, 5};
    int n = sizeof(A) / sizeof(A[0]);
    cout << returnMaxSum(A, B, n);
    return 0;
}

आउटपुट

20
  1. सर्कुलर ऐरे में अधिकतम योग जहाँ कोई दो आसन्न तत्व न हों - C++ सर्कुलर ऐरे में अधिकतम योग जहाँ कोई दो आसन्न तत्व न हों - C++

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

  1. - C++ में सरणी के उन तत्वों को प्रिंट करें जो कम से कम एक अन्य तत्व से विभाज्य हों

    इस समस्या में, हमें पूर्णांकों की एक सरणी दी गई है और हमें केवल उन संख्याओं को प्रिंट करना है जो सरणी के कम से कम एक अन्य तत्व से विभाज्य हैं। आइए एक उदाहरण लेकर अवधारणा को बेहतर ढंग से समझते हैं, Input : 3 12 16 21 Output : 12 21 व्याख्या - 3 सबसे छोटा है इसलिए यह किसी अन्य संख्या से विभाज्य नहीं ह

  1. - C++ का उपयोग करके सरणी में ऐसा तत्व खोजें जिससे सभी तत्व विभाज्य हों

    मान लीजिए हमारे पास कुछ तत्वों के साथ एक सरणी A है। हमें A से एक ऐसा तत्व ढूंढना है जिससे सभी तत्व इससे विभाज्य हों। मान लीजिए A = [15, 21, 69, 33, 3, 72, 81] है, तो तत्व 3 होगा, क्योंकि सभी संख्याएं 3 से विभाज्य हैं। इस समस्या को हल करने के लिए, हम A में सबसे छोटी संख्या लेंगे, फिर जांचेंगे कि क्य