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

C++ में ऐरे मानों की त्रिकोणीय व्यवस्था की अधिकतम ऊंचाई


समस्या कथन

एक ऐरे दिया गया है, हमें त्रिभुज की अधिकतम ऊंचाई ढूंढनी है जिसे हम ऐरे मानों से बना सकते हैं जैसे कि प्रत्येक (i+1)वां स्तर पिछले स्तर से अधिक तत्वों के साथ बड़ा योग रखता है।

उदाहरण

यदि इनपुट ऐरे {40, 100, 20, 30} है तो उत्तर 2 है -

हम निचले स्तर पर 100 और 20 रख सकते हैं और ऊपरी स्तर पर 40 या 30 में से कोई एक।

एल्गोरिदम

हमारा समाधान केवल इस तर्क पर आधारित है कि यदि हमारे पिरामिड के लिए अधिकतम संभव ऊंचाई h है तो (h * (h + 1)) / 2 तत्व ऐरे में मौजूद होने चाहिए।

उदाहरण

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

int getMaximumHeight(int* arr, int n) {
    int result = 1;
    for (int i = 1; i <= n; ++i) {
        long long y = (i * (i + 1)) / 2;
        if (y < n) {
            result = i;
        } else {
            break;
        }
    }
    return result;
}

int main() {
    int arr[] = {40, 100, 20, 30};
    int n = sizeof(arr) / sizeof(arr[0]);
    cout << "Result = " << getMaximumHeight(arr, n) << endl;
    return 0;
}

आउटपुट

जब आप उपरोक्त प्रोग्राम को कंपाइल और निष्पादित करते हैं। यह निम्न आउटपुट उत्पन्न करता है -

Result = 2

  1. - C++ में ऐरे में किसी पेयर का अधिकतम बिटवाइज AND मान

    समस्या कथन n धनात्मक तत्वों का एक ऐरे दिया गया है। हमें ऐरे के किन्हीं दो तत्वों की पेयर द्वारा उत्पन्न अधिकतम बिटवाइज AND मान ढूंढना है। उदाहरण यदि इनपुट ऐरे है {10, 12, 15, 18} तो बिटवाइज AND का अधिकतम मान 12 है। एल्गोरिदम सिंगल बिट पर बिटवाइज AND ऑपरेशन का परिणाम अधिकतम होता है जब दोनों बिट्स

  1. - C++ में सरणी रिवर्स

    यह आलेख C++ कोडिंग का उपयोग करके एक सरणी को अवरोही क्रम में रिवर्स दिखाता है जिसमें उच्चतम इंडेक्स को निम्नतम इंडेक्स से परिणामस्वरूप लूप में सरणी को पार करके स्वैप किया जाता है।उदाहरण#include <iostream> #include <algorithm> using namespace std; void reverseArray(int arr[], int n){  

  1. - C++ में सरणी में अधिकतम GCD वाली जोड़ी ढूंढना

    मान लीजिए हमारे पास धनात्मक पूर्णांकों की एक सरणी है। हमारा कार्य सरणी से पूर्णांकों की जोड़ी ढूंढना है, जहां GCD मान अधिकतम है। मान लीजिए A = {1, 2, 3, 4, 5}, तो आउटपुट 2 है। जोड़ी (2, 4) का GCD 2 है, अन्य GCD मान 2 से कम हैं।इस समस्या को हल करने के लिए, हम एक काउंट सरणी बनाए रखेंगे जो प्रत्येक तत्