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

C++ में सरणी में गायब सभी संख्याएं ढूंढें (Find All Numbers Disappeared in an Array)


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

इसलिए यदि सरणी [4, 3, 2, 7, 8, 2, 3, 1] है, तो परिणाम [5, 6] होगा

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

  • let n सरणी का आकार है
  • i को 0 से n - 1 तक की सीमा में लिए
    • x := |A[i]| - 1
    • यदि A[x] > 0, तो A[x] := - A[x]
  • उत्तर को एक सरणी के रूप में परिभाषित करें
  • i को 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++ में ऐरे में सभी अभाज्य संख्याओं का गुणनफल C++ में ऐरे में सभी अभाज्य संख्याओं का गुणनफल

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

  1. - C++ में सरणी में उन सभी जोड़े (a,b) और (c,d) को खोजें जो ab = cd को संतुष्ट करते हैं

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

  1. - C++ प्रोग्राम: संख्याओं के एरे के गुणनफल का पहला अंक ज्ञात करना

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