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

सी ++ में एक सरणी में सभी डुप्लिकेट खोजें


मान लीजिए कि हमारे पास पूर्णांकों की एक सरणी है, श्रेणी 1 ≤ a[i] ≤ n (n =सरणी का आकार) में, यहां कुछ तत्व दो बार दिखाई देते हैं और अन्य एक बार दिखाई देते हैं। हमें इस सरणी में दो बार आने वाले सभी तत्वों को खोजना है। तो अगर सरणी [4,3,2,7,8,2,3,1] है, तो आउटपुट [2, 3]

होगा

इसे हल करने के लिए, हम इन चरणों का पालन करेंगे -

  • n :=सरणी का आकार, एक सरणी बनाएं जिसे ans कहा जाता है
  • मैं के लिए 0 से n - 1 की सीमा में
    • x :=अंकों का निरपेक्ष मान[i]
    • x को 1 से घटाएं
    • अगर nums[x] <0, तो x + 1 को ans में जोड़ें, अन्यथा nums[x] :=nums[x] * (-1)
  • वापसी उत्तर

उदाहरण(C++)

आइए हम इसे बेहतर ढंग से समझने के लिए निम्नलिखित कार्यान्वयन को देखें -

#include <bits/stdc++.h>
using namespace std;
void print_vector(vector<auto> v){
   cout << "[";
   for(int i = 0; i<v.size(); i++){
      cout << v[i] << ", ";
   }
   cout << "]"<<endl;
}
class Solution {
public:
   vector<int> findDuplicates(vector<int>& nums) {
      int n = nums.size();
      vector <int> ans;
      for(int i = 0; i < n; i++){
         int x = abs(nums[i]);
         x--;
         if(nums[x] < 0) ans.push_back(x + 1);
         else nums[x] *= -1;
      }
      return ans;
   }
};
main(){
   Solution ob;
   vector<int> v = {4,3,2,7,8,2,3,1};
   print_vector(ob.findDuplicates(v));
}

इनपुट

[4,3,2,7,8,2,3,1]

आउटपुट

[2,3]

  1. सी ++ में सरणी में विभाजन बिंदु खोजें

    इस ट्यूटोरियल में, हम एक ऐरे में पार्टिशन पॉइंट ढूँढ़ने जा रहे हैं जहाँ पार्टिशन पॉइंट पर छोड़े गए सभी एलिमेंट छोटे हैं और पार्टिशन पॉइंट के सभी एलिमेंट बड़े हैं। आइए समस्या को हल करने के लिए चरणों को देखें। ऐरे को इनिशियलाइज़ करें। सरणी पर पुनरावृति करें। 0 से I तक पुनरावृति करें और प्रत्

  1. सी ++ में एक सरणी में सभी जोड़ों के योग के एक्सओआर का योग

    इस समस्या में, हमें n आकार का एक सरणी arr[] दिया जाता है। हमारा काम एक प्रोग्राम बनाना है जो एक सरणी में सभी जोड़ियों के योग के XOR का योग ज्ञात करे। आइए समस्या को समझने के लिए एक उदाहरण देखें, इनपुट: गिरफ्तारी[5, 7, 9] आउटपुट: 22 स्पष्टीकरण: (5+5) ^ (5+7) ^ (5+9) ^ (7+5) ^ (7+7) ^ (7+9) ^

  1. C++ में किसी सरणी में सभी अभाज्य संख्याओं का गुणनफल

    कुछ तत्वों के साथ एक पूर्णांक सरणी arr[] को देखते हुए, कार्य उस संख्याओं की सभी अभाज्य संख्याओं का गुणनफल खोजना है। अभाज्य संख्याएँ वे संख्याएँ होती हैं जिन्हें या तो 1 से या स्वयं संख्या से विभाजित किया जाता है, या एक अभाज्य संख्या एक ऐसी संख्या होती है जो 1 और स्वयं संख्या को छोड़कर किसी अन्य संख