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

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

समस्या कथन

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

उदाहरण

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

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

एल्गोरिदम

  • यदि सभी तत्व अलग-अलग हैं, तो उत्तर केवल n-1 है जहां n सरणी में तत्वों की संख्या है
  • यदि दोहराए जाने वाले तत्व हैं, तो उत्तर n – अधिकतम आवृत्ति
  • . है

उदाहरण

आइए अब एक उदाहरण देखें -

#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. C++ . में भूलभुलैया III

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

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

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

  1. C++ में दिए गए अंतर के साथ एक जोड़ी खोजें

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