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

C++ में O(1) स्पेस में 0 से N-1 के तत्वों के साथ निरंतर सरणी में डुप्लिकेट खोजें

मान लीजिए हमारे पास 0 से n-1 तक की संख्याओं की एक सूची है। एक संख्या को जितनी बार संभव हो उतनी बार दोहराया जा सकता है। हमें बिना किसी अतिरिक्त स्थान के दोहराई जाने वाली संख्याएँ ज्ञात करनी हैं। यदि n =7, और सूची का मान [5, 2, 3, 5, 1, 6, 2, 3, 4, 5] जैसा है। उत्तर 5, 2, 3 होगा।

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

  • सूची में प्रत्येक तत्व ई के लिए, निम्न चरणों का पालन करें -
    • चिह्न :=A[e का पूर्ण मान]
    • यदि चिन्ह धनात्मक है, तो उसे ऋणात्मक बना दें
    • अन्यथा यह दोहराव है।

उदाहरण

#include<iostream>
#include<cmath>
using namespace std;
void findDuplicates(int arr[], int size) {
   for (int i = 0; i < size; i++) {
      if (arr[abs(arr[i])] >= 0)
         arr[abs(arr[i])] *= -1;
      else
         cout << abs(arr[i]) << " ";
   }
}
int main() {
   int arr[] = {5, 2, 3, 5, 1, 6, 2, 3, 4, 1};
   int n = sizeof(arr)/sizeof(arr[0]);
   findDuplicates(arr, n);
}

आउटपुट

5 2 3 1

  1. सी++ में एक सरणी में अधिकतम जीसीडी के साथ जोड़ी खोजें

    मान लीजिए कि हमारे पास सकारात्मक पूर्णांकों की एक सरणी है। हमारा काम सरणी से पूर्णांकों की जोड़ी को खोजना है, जहां GCD मान अधिकतम है। मान लीजिए A ={1, 2, 3, 4, 5}, तो आउटपुट 2 है। जोड़ी (2, 4) में GCD 2 है, अन्य GCD मान 2 से कम हैं। इस समस्या को हल करने के लिए, हम प्रत्येक तत्व के भाजक की गिनती को

  1. C++ में दिए गए सरणी के तत्वों के भाज्य का GCD ज्ञात कीजिए

    मान लीजिए कि हमारे पास एन तत्वों के साथ एक सरणी ए है। हमें सरणी के सभी तत्वों के भाज्य का GCD ज्ञात करना है। मान लीजिए कि तत्व {3, 4, 8, 6} हैं, तो भाज्य का GCD 6 है। यहाँ हम ट्रिक देखेंगे। चूँकि दो संख्याओं का GCD वह सबसे बड़ी संख्या है, जो दोनों संख्याओं को विभाजित करती है, तो दो संख्याओं के भाज्य

  1. सी ++ में प्रमुख आवृत्तियों वाले ऐरे तत्व?

    सरणी समान डेटा प्रकार के तत्वों का एक कंटेनर है। प्राइम फ़्रीक्वेंसी इसका मतलब है कि सरणी के तत्व की घटना की संख्या एक प्रमुख संख्या है। तो, इन परिभाषाओं के आधार पर अभाज्य आवृत्तियों वाले सरणी तत्वों को खोजने में समस्या। हमें सरणी की एक स्ट्रिंग दी गई है। हमें वर्णों की आवृत्ति का पता लगाना होगा