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

C++ में a[i+1] > a[i] वाले तत्वों को अधिकतम करना


समस्या कथन

N पूर्णांकों का एक ऐरे दिया गया है, ऐरे तत्वों को पुनर्व्यवस्थित करें जैसे कि अगला ऐरे तत्व पिछले तत्व से बड़ा हो arr[i+1] > arr[i]।

उदाहरण

यदि इनपुट ऐरे है {300, 400, 400, 300} तो पुनर्व्यवस्थित ऐरे होगा:

{300, 400, 300, 400}। इस समाधान में हमें शर्त arr[i+1] > arr[i] के साथ 2 इंडेक्स मिलते हैं। इसलिए उत्तर 2 है।

एल्गोरिदम

  • यदि सभी तत्व विशिष्ट हैं, तो उत्तर केवल n-1 है जहां n ऐरे में तत्वों की संख्या है।
  • यदि तत्व दोहराए जा रहे हैं, तो उत्तर n - maxFrequency है।

उदाहरण

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

int getMaxIndices(int* arr, int n) {
    int count[MAX] = {0};
    for (int i = 0; i < n; ++i) {
        count[arr[i]]++;
    }
    int maxFrequency = 0;
    for (int i = 0; i < n; ++i) {
        if (count[arr[i]] > maxFrequency) {
            maxFrequency = count[arr[i]];
        }
    }
    return n - maxFrequency;
}

int main() {
    int arr[] = {300, 400, 300, 400};
    int n = sizeof(arr) / sizeof(arr[0]);
    cout << "Answer = " << getMaxIndices(arr, n) << endl;
    return 0;
}

आउटपुट

Answer = 2
  1. भूलभुलैया III - C++ भूलभुलैया III - C++

    मान लीजिए एक भूलभुलैया है जिसमें खाली स्थान और दीवारें हैं और उस भूलभुलैया में एक गेंद भी है। गेंद ऊपर (u), नीचे (d), बाएं (l) या दाएं (r) दिशाओं में लुढ़ककर खाली स्थानों से गुजर सकती है, लेकिन यह दीवार से टकराने तक लुढ़कती रहती है। जब गेंद रुकती है, तो यह अगली दिशा चुन सकती है। उस भूलभुलैया में एक

  1. - C++ में negative_binomial_distribution उदाहरणों के साथ

    इस ट्यूटोरियल में, हम C++ में negative_binomial_distribution को समझने के लिए एक प्रोग्राम पर चर्चा करेंगे। यह फंक्शन नकारात्मक द्विपद असतत वितरण का पालन करता है और इस यादृच्छिक वितरण के अनुसार पूर्णांक उत्पन्न करता है। उदाहरण #include <bits/stdc++.h> using namespace std; int main() {

  1. - C++ में दिए गए अंतर वाली जोड़ी ढूंढें

    समस्या विवरण एक सरणी A दी गई है जिसमें n विभिन्न तत्व हैं। हमें सरणी से एक जोड़ी (x, y) ढूंढनी है जिससे x और y का अंतर दिए गए अंतर d के बराबर हो। उदाहरण के लिए, यदि सरणी A = [10, 15, 26, 30, 40, 70] है और दिया गया अंतर 30 है, तो जोड़ियां (10, 40) और (30, 70) होंगी। हल दृष्टिकोण इस समस्या को हल करन