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

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

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

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

  • सूची में प्रत्येक तत्व e के लिए, निम्नलिखित चरण करें -
    • sign := A[absolute value of e]
    • यदि sign धनात्मक है, तो इसे ऋणात्मक बनाएं
    • अन्यथा यह एक पुनरावृत्ति है।

उदाहरण

#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. - C++ में सरणी में अधिकतम GCD वाली जोड़ी ढूंढना

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

  1. - C++ में दिए गए सरणी के एलिमेंट्स के फैक्टोरियल का GCD खोजें

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

  1. - C++ में अभाज्य आवृत्ति वाले एरे तत्व

    एरे (Array) समान डेटा प्रकार के तत्वों का एक कंटेनर है। अभाज्य आवृत्ति (Prime Frequencies) का अर्थ है कि एरे के तत्व की घटनाओं की संख्या एक अभाज्य संख्या है। इसलिए, इन परिभाषाओं के आधार पर समस्या अभाज्य आवृत्ति वाले एरे तत्वों को खोजने की है। हमें एक स्ट्रिंग/एरे दिया गया है। हमें वर्णों की आवृत्ति