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

पूर्णांक C++ की एक सरणी में पहला दोहराए जाने वाले तत्व का पता लगाएं

इस समस्या में, हम n पूर्णांक मानों की एक सरणी गिरफ्तारी हैं। हमारा काम पूर्णांकों की एक सरणी में पहला दोहराए जाने वाले तत्व को ढूंढना है

हमें सरणी से पहला पूर्णांक मान खोजने की आवश्यकता है जो सरणी में एक से अधिक बार हुआ है।

समस्या को समझने के लिए एक उदाहरण लेते हैं,

Input : arr[] = {4, 1, 8, 9, 7, 2, 1, 6, 4}
Output : 4

स्पष्टीकरण -

Integers with more than one occurrence are 4 and 1.
4's first occurrence is smaller than 1. Hence the answer is 4

समाधान दृष्टिकोण

समस्या का एक आसान समाधान नेस्टेड लूप का उपयोग कर रहा है। हम दो छोरों का उपयोग करेंगे, बाहरी एक सरणी के प्रत्येक पूर्णांक मान को पुनरावृत्त करने के लिए और आंतरिक एक यह जांचने के लिए कि सरणी में समान मान के साथ कोई अन्य पूर्णांक मान मौजूद है या नहीं। यदि हाँ, तो मान लौटाएँ। यह तरीका अच्छा है लेकिन समाधान न होने की स्थिति में इसमें O(N2) जटिलता होगी।

समाधान दृष्टिकोण

एक अन्य दृष्टिकोण जो समस्या को बेहतर ढंग से हल कर सकता है वह है हैशिंग का उपयोग करना। हम पिछले इंडेक्स से ऐरे को ट्रैवर्स करेंगे और फिर इंडेक्स में मिले एलिमेंट के लिए मिनिमम इंडेक्स को अपडेट करेंगे।

उदाहरण

हमारे समाधान की कार्यप्रणाली को दर्शाने के लिए कार्यक्रम

#include<bits/stdc++.h>
using namespace std;
int findRepeatingElementArray(int arr[], int n){
   int minRetIndex = -1;
   set<int> visitedElements;
   for (int i = n - 1; i >= 0; i--){
      if (visitedElements.find(arr[i]) != visitedElements.end())
         minRetIndex = i;
      else
         visitedElements.insert(arr[i]);
   }
   if (minRetIndex != -1)
      return arr[minRetIndex];
   else
      return -1;
}
int main(){
   int arr[] = {4, 1, 6, 3, 4, 1, 5, 8};
   int n = sizeof(arr) / sizeof(arr[0]);
   cout<<"The element with repeated occurence is "<<findRepeatingElementArray(arr, n);
}

आउटपुट

The element with repeated occurence is 4

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

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

  1. सी ++ प्रोग्राम संख्याओं की एक सरणी के उत्पाद में पहला अंक खोजने के लिए

    इस लेख में, हम दिए गए सरणी के तत्वों के उत्पाद में पहला अंक खोजने के लिए एक कार्यक्रम पर चर्चा करेंगे। उदाहरण के लिए, मान लें कि हमें एक सरणी दी गई है। arr = {12, 5, 16} तब इन तत्वों का गुणनफल 12*5*16 =960 होगा। इसलिए, परिणाम यानी इस मामले में उत्पाद का पहला अंक 9 होगा। उदाहरण #include <bits/st

  1. सी++ प्रोग्राम सरणी को विभाजित करने की विधि द्वारा kth सबसे छोटा तत्व खोजने के लिए

    हम एरे को विभाजित करने की विधि द्वारा kth सबसे छोटा तत्व खोजने के लिए एक C++ प्रोग्राम विकसित करेंगे। एल्गोरिदम Begin    Function CreatePartition() has an array a, and the lower l and upper limit h as arguments    in := l and pi := h    for i in range l to h, do