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

एक सरणी में अद्वितीय तत्व जहां C++ में एक को छोड़कर सभी तत्व k बार आते हैं

हमारे पास एक सरणी ए है। ए में सभी तत्व एम बार होते हैं, लेकिन एक तत्व केवल एक बार होता है। हमें उस अद्वितीय तत्व को खोजना होगा।

इसलिए, यदि इनपुट A =[6, 2, 7, 2, 2, 6, 6], m =3 जैसा है, तो आउटपुट 7 होगा।

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

  • INT_SIZE :=8 * एक पूर्णांक प्रकार चर का आकार
  • आकार की एक सरणी गणना परिभाषित करें:INT_SIZE। और 0 से भरें
  • इनिशियलाइज़ i :=0 के लिए, जब i करें
  • इनिशियलाइज़ j :=0 के लिए, जब j <साइज़, अपडेट (j को 1 से बढ़ाएँ), −
      करें
    • अगर (arr[j] और 2^i) 0 के बराबर नहीं है, तो −
      • गिनती[i] :=गिनती[i] + 1
    • res :=0
  • इनिशियलाइज़ i :=0 के लिए, जब i करें
  • res :=res + ((गिनती[i] mod m) * 2^i)
  • रिटर्न रेस
  • आइए बेहतर समझ पाने के लिए निम्नलिखित कार्यान्वयन देखें -

    उदाहरण (C++)

    #include <bits/stdc++.h>
    using namespace std;
    int selectUnique(unsigned int arr[], int size, int m){
       int INT_SIZE = 8 * sizeof(unsigned int);
       int count[INT_SIZE];
       memset(count, 0, sizeof(count));
       for(int i = 0; i < INT_SIZE; i++)
          for(int j = 0; j < size; j++)
             if((arr[j] & (1 << i)) != 0)
                count[i] += 1;
       unsigned res = 0;
       for(int i = 0; i < INT_SIZE; i++)
          res += (count[i] % m) * (1 << i);
       return res;
    }
    main(){
       unsigned int arr[] = { 6, 2, 5, 2, 2, 6, 6 };
       int size = sizeof(arr) / sizeof(arr[0]);
       int m = 3;
       cout << selectUnique(arr, size, m);
    }

    इनपुट

    { 6, 2, 5, 2, 2, 6, 6 }

    आउटपुट

    5

    1. एक सरणी तत्व खोजें जैसे कि सभी तत्व इसके द्वारा c++ . का उपयोग करके विभाज्य हैं

      विचार करें कि हमारे पास कुछ तत्वों के साथ एक सरणी ए है। हमें A से एक अवयव इस प्रकार ज्ञात करना है कि सभी तत्वों को इससे विभाजित किया जा सके। मान लीजिए कि ए [15, 21, 69, 33, 3, 72, 81] जैसा है, तो तत्व 3 होगा, क्योंकि सभी संख्याएं 3 से विभाज्य हो सकती हैं। इस समस्या को हल करने के लिए, हम ए में सबसे

    1. सी ++ में सरणी के सभी तत्वों को समान बनाने के लिए न्यूनतम डिलीट ऑपरेशंस।

      समस्या कथन n तत्वों की एक सरणी को देखते हुए जैसे कि तत्व दोहरा सकते हैं। हम सरणी से किसी भी संख्या में तत्वों को हटा सकते हैं। कार्य इसे समान बनाने के लिए सरणी से हटाए जाने वाले तत्वों की न्यूनतम संख्या को खोजना है। arr[] = {10, 8, 10, 7, 10, -1, -4, 12} सभी सरणी तत्वों को समान बनाने के लिए हमें ह

    1. एक सरणी (सी ++) में सभी जोड़ीदार लगातार तत्वों का पूर्ण अंतर?

      इस समस्या में हम देखेंगे कि कैसे हम एक सरणी में तत्वों की प्रत्येक जोड़ी के तत्वों के बीच पूर्ण अंतर प्राप्त कर सकते हैं। यदि n तत्व हैं, तो परिणामी सरणी में n-1 तत्व होंगे। मान लीजिए कि तत्व {8, 5, 4, 3} हैं। परिणाम होगा |8-5| =3, तब |5-4| =1, |4-3|=1. एल्गोरिदम pairDiff(arr, n) begin