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

शफल की गई कॉपी वाले दूसरे ऐरे में लापता संख्या खोजें C++ में

मान लीजिए, हमारे पास दो ऐरे A और B हैं, ऐरे A में n तत्व हैं। दूसरा ऐरे B में A के सभी तत्व हैं, लेकिन वे शफल हैं और एक तत्व हटा दिया गया है। हमें लापता तत्व खोजना है। तो यदि A = [4, 8, 1, 3, 7], और B = [7, 4, 3, 1], आउटपुट 8 है।

इसे XOR ट्रिक का उपयोग करके हल किया जा सकता है। प्रत्येक तत्व की संयुक्त घटना दो बार होती है, एक A में, और दूसरी B में, एक तत्व को छोड़कर जिसकी केवल A में एकल घटना होती है। चूंकि हम जानते हैं कि x XOR x = 0, इसलिए यदि हम दोनों ऐरे के तत्वों में XOR करते हैं। परिणाम लापता संख्या होगी।

उदाहरण

#include <iostream>
using namespace std;

int FindMissingElement(int A[], int B[], int n) {
    int min_element = 0;
    for (int i = 0; i < n; i++)
        min_element = min_element ^ A[i];
    for (int i = 0; i < n - 1; i++)
        min_element = min_element ^ B[i];
    return min_element;
}

int main() {
    int A[] = {4, 8, 1, 3, 7};
    int B[] = {7, 4, 3, 1};
    int n = sizeof(A) / sizeof(A[0]);
    cout << "Missing element: " << FindMissingElement(A, B, n);
}

आउटपुट

Missing element: 8

  1. - C++ प्रोग्राम: अंक d वाली संख्याएं ज्ञात करना

    मान लें हमारे पास एक अंक d है, और ऊपरी सीमा n है। हमें 0 से n की सीमा में वे सभी संख्याएं ज्ञात करनी हैं जिनमें d है। इसलिए यदि n = 20, और अंक 3 है, तो संख्याएं [3, 13] होंगी। इस समस्या को हल करने के लिए, हम प्रत्येक संख्या को स्ट्रिंग के रूप में लेंगे, फिर यदि अंक स्ट्रिंग में मौजूद है, तो संख्या

  1. - C++ में सरणी में एक संख्या की फ्रीक्वेंसी ज्ञात करना

    मान लीजिए हमारे पास एक सरणी है। इसमें n अलग-अलग तत्व हैं। हमें सरणी में एक तत्व की फ्रीक्वेंसी जांचनी है। मान लीजिए A = [5, 12, 26, 5, 3, 4, 15, 5, 8, 4], यदि हम 5 की फ्रीक्वेंसी ढूंढने की कोशिश करते हैं, तो यह 3 होगी। इसे हल करने के लिए, हम सरणी को बाएं से स्कैन करेंगे, यदि तत्व दी गई संख्या के सम

  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]