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

सी ++ में डुप्लिकेट के साथ क्रमबद्ध सरणी में समान (या मध्य) बिंदु खोजें

मान लीजिए कि हमारे पास n तत्वों के साथ एक क्रमबद्ध सरणी है। सरणी क्रमबद्ध है। हमें यह पता लगाना है कि क्या कोई तत्व उस सरणी में मौजूद है जहां से छोटे तत्वों की संख्या बड़े तत्वों की संख्या के समान है। यदि समान बिंदु सरणी में कई बार दिखाई देता है, तो पहली घटना का सूचकांक लौटाएं। यदि ऐसा कोई बिंदु मौजूद नहीं है, तो -1 लौटें। मान लीजिए कि तत्व ए =[1, 1, 2, 3, 3, 3, 3, 3] जैसे हैं, तो समान बिंदु सूचकांक 2 पर है, तत्व ए [2] =2 है। चूंकि इसमें केवल एक छोटा है वह तत्व जो 1 है, और केवल एक बड़ा तत्व है, वह है 3.

हम इसमें सभी अलग-अलग तत्वों को संग्रहीत करने के लिए एक सहायक सरणी बनाएंगे। यदि अलग-अलग तत्वों की संख्या सम है, तो हमें कोई समान बिंदु नहीं मिल सकता है, अन्यथा मध्य तत्व मध्य बिंदु होगा।

उदाहरण

#include<iostream>
using namespace std;
int searchEqualPoint(int arr[], int n) {
   int aux_arr[n];
   int i = 0, aux_index = 0;
   while (i < n) {
      aux_arr[aux_index++] = i++;
      while (i<n && arr[i] == arr[i-1])
         i++;
   }
   return (aux_index & 1)? aux_arr[aux_index>>1] : -1;
}
int main() {
   int arr[] = {1, 1, 2, 3, 3, 3, 3, 3};
   int n = sizeof(arr)/sizeof(arr[0]);
   int index = searchEqualPoint(arr, n);
   if (index != -1)
      cout << "Equal Point is: " << arr[index];
   else
      cout << "No Equal Point exists";
}

आउटपुट

Equal Point is: 2

  1. C++ का उपयोग करके कोष्ठकों की एक स्ट्रिंग में एक समान बिंदु खोजें।

    यहां हम देखेंगे कि कोष्ठक की एक स्ट्रिंग में समान अंक कैसे प्राप्त करें। समान बिंदु सूचकांक I है, जैसे कि इसके पहले खुलने वाले कोष्ठकों की संख्या इसके बाद के समापन कोष्ठक की संख्या के बराबर है। मान लीजिए कि एक ब्रैकेट स्ट्रिंग (())) (() () ())) की तरह है, अगर हम करीब से देखते हैं, तो हम प्राप्त कर स

  1. C++ में दिए गए सरणी में एक निश्चित बिंदु (सूचकांक के बराबर मान) खोजें

    यहां हम देखेंगे कि किसी दिए गए सरणी में निश्चित बिंदु कैसे खोजें। सरणी में एक तत्व को निश्चित बिंदु के रूप में दर्शाया जाएगा यदि मान उसके सूचकांक के समान है। यदि कोई है तो यह प्रोग्राम मान लौटाएगा, अन्यथा -1 लौटाएगा। सरणी ऋणात्मक संख्याएँ भी धारण कर सकती है। और डेटा तत्वों को क्रमबद्ध किया जाता है।

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

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