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

सी ++ में सरणी में प्रत्येक तत्व के लिए निकटतम अधिक मूल्य खोजें

यहां हम देखेंगे कि किसी सरणी में प्रत्येक तत्व के लिए निकटतम अधिक मूल्य कैसे प्राप्त करें। यदि किसी तत्व x में अगला तत्व है जो उससे बड़ा है, और सरणी में भी मौजूद है, तो वह उस तत्व का अधिक मूल्य होगा। यदि तत्व मौजूद नहीं है, तो -1 लौटाएं। मान लीजिए कि सरणी तत्व [10, 5, 11, 6, 20, 12] हैं, तो बड़े तत्व [11, 6, 12, 10, -1, 20] हैं। चूंकि सरणी में 20 का मान अधिक नहीं है, इसलिए -1 प्रिंट करें।

इसे हल करने के लिए, हम C++ STL में सेट का उपयोग करेंगे। सेट को बाइनरी ट्री दृष्टिकोण का उपयोग करके कार्यान्वित किया जाता है। बाइनरी ट्री में हमेशा इनऑर्डर उत्तराधिकारी अगला बड़ा तत्व होता है। तो हम ओ (लॉग एन) समय में तत्व प्राप्त कर सकते हैं।

उदाहरण

#include<iostream>
#include<set>
using namespace std;
void nearestGreatest(int arr[], int n) {
   set<int> tempSet;
   for (int i = 0; i < n; i++)
      tempSet.insert(arr[i]);
   for (int i = 0; i < n; i++) {
      auto next_greater = tempSet.upper_bound(arr[i]);
      if (next_greater == tempSet.end())
         cout << -1 << " ";
      else
         cout << *next_greater << " ";
   }
}
int main() {
   int arr[] = {10, 5, 11, 10, 20, 12};
   int n = sizeof(arr) / sizeof(arr[0]);
   nearestGreatest(arr, n);
}

आउटपुट

11 10 12 11 -1 20

  1. सी ++ में सरणी में प्रत्येक तत्व की सर्पासर गणना खोजें

    मान लीजिए कि एक सरणी A दिया गया है। हमें उस सरणी में प्रत्येक तत्व की संख्या को पार करना होगा। पार करने वाले अधिक से अधिक तत्व होते हैं जो वर्तमान तत्व की सरणी के दाईं ओर मौजूद होते हैं। मान लीजिए A ={2, 7, 5, 3, 0, 8, 1}, श्रेष्ठ हैं {4, 1, 1, 2, 0, 0}, तो 2 में दायीं ओर 4 संख्याएँ हैं, जो बड़ी हैं

  1. सी ++ प्रोग्राम एक सरणी के तत्वों को जोड़ने के लिए जब तक कि प्रत्येक तत्व k . से अधिक या उसके बराबर न हो जाए

    हमारे पास अवर्गीकृत तत्वों की सरणी है अर्थात arr[] और एक पूर्णांक K है, और हमें आवश्यक न्यूनतम चरणों की संख्या ज्ञात करनी होगी जिसमें सभी तत्वों को से बड़ा या उसके बराबर बनाने के लिए सरणी के तत्वों को जोड़ा जाएगा। कश्मीर . हम सरणी के दो तत्व जोड़ सकते हैं और उन्हें एक बना सकते हैं। उदाहरण Input: ar

  1. किसी सरणी के तत्वों को तब तक जोड़ना जब तक कि प्रत्येक तत्व C++ में k से बड़ा या उसके बराबर न हो जाए।

    सरणी - एक सरणी एक ही डेटा प्रकार के तत्वों का एक कंटेनर होता है, जिसके तत्व 0 अनुक्रमित होते हैं। इस समस्या में, हम पूर्णांकों की एक सरणी का उपयोग करेंगे। और जांचें कि सभी तत्व दी गई संख्या से बड़े हैं या नहीं। यहां हम जांच करेंगे कि सरणी के सभी तत्व दिए गए संख्या k से बड़े या बराबर हैं या नहीं। यद