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

C++ में एक ऐरे में गायब हुए सभी नंबरों का पता लगाएं

मान लीजिए कि हमारे पास n तत्वों की एक सरणी है। कुछ तत्व दो बार प्रकट होते हैं और अन्य एक बार प्रकट होते हैं। तत्व 1 <=A[i] <=n श्रेणी में हैं। हमें उन तत्वों को खोजना है जो सरणी में मौजूद नहीं हैं। बाधा यह है कि हमें अतिरिक्त स्थान का उपयोग किए बिना इस समस्या को हल करना होगा, और समय O(n) होगा।

तो अगर सरणी [4, 3, 2, 7, 8, 2, 3, 1] है, तो परिणाम [5, 6] होगा।

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

  • चलो n सरणी का आकार है
  • मैं के लिए 0 से n - 1 की सीमा में
    • x :=|ए[i]| - 1
    • यदि A[x]> 0, तो A[x] :=- A[x]
  • उत्तर को एक सरणी के रूप में परिभाषित करें
  • मैं के लिए 0 से n - 1 की सीमा में
    • यदि A[i]> 0, तो उत्तर में i + 1 जोड़ें
  • जवाब वापस करें

उदाहरण

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

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

इनपुट

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

आउटपुट

[1, 6, ]

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

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

  1. सरणी में सभी जोड़े (ए, बी) और (सी, डी) खोजें जो सी ++ में एबी =सीडी को संतुष्ट करते हैं

    मान लीजिए कि हमारे पास एक सरणी ए है, उस सरणी से, हमें दो जोड़े (ए, बी) और (सी, डी) चुनना है, जैसे कि एबी =सीडी। मान लीजिए कि सरणी A =[3, 4, 7, 1, 2, 9, 8] है। आउटपुट जोड़े (4, 2) और (1, 8) हैं। इसे हल करने के लिए, हम इन चरणों का पालन करेंगे - i :=0 से n-1 के लिए, करें जे के लिए:=i + 1 से n-1 तक, कर

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

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