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

C प्रोग्राम में मान के समान आवृत्ति वाले तत्वों के लिए ऐरे रेंज क्वेरी


समस्या विवरण

यहां हम एक दिलचस्प समस्या देखेंगे। हमारे पास N तत्वों वाला एक ऐरे है। हमें एक क्वेरी Q निष्पादित करनी है: Q(start, end) इंगित करता है कि एक संख्या 'p' शुरू से अंत तक ठीक 'p' बार आती है।

उदाहरण

ऐरे: {1, 5, 2, 3, 1, 3, 5, 7, 3, 9, 8}
Q(1, 8): यहां 1 एक बार मौजूद है, और 3 तीन बार मौजूद है। तो उत्तर 2 है।
Q(0, 2): यहां 1 एक बार मौजूद है। तो उत्तर 1 है।

एल्गोरिदम

query(s, e)
शुरुआत
    तत्व प्राप्त करें और प्रत्येक तत्व 'e' की आवृत्ति को एक मैप में गिनें
    count := count + 1
    प्रत्येक कुंजी-मान जोड़ी p के लिए
        यदि p.key = p.value, तो
            count := count + 1
        अंत
    वापस count
अंत

C++ प्रोग्राम उदाहरण

#include <iostream>
#include <map>
using namespace std;

int query(int start, int end, int arr[]) {
    map freq;
    for (int i = start; i <= end; i++)
        freq[arr[i]]++;
    int count = 0;
    for (auto x : freq)
        if (x.first == x.second)
            count++;
    return count;
}

int main() {
    int A[] = {1, 5, 2, 3, 1, 3, 5, 7, 3, 9, 8};
    int n = sizeof(A) / sizeof(A[0]);
    int queries[][2] = {{0, 1}, {1, 8}, {0, 2}, {1, 6}, {3, 5}, {7, 9}};
    int query_count = sizeof(queries) / sizeof(queries[0]);
    for (int i = 0; i < query_count; i++) {
        int start = queries[i][0];
        int end = queries[i][1];
        cout << "क्वेरी " << (i + 1) << " का उत्तर = " << query(start, end, A) << endl;
    }
}

आउटपुट

क्वेरी 1 का उत्तर = 1
क्वेरी 2 का उत्तर = 2
क्वेरी 3 का उत्तर = 1
क्वेरी 4 का उत्तर = 1
क्वेरी 5 का उत्तर = 1
क्वेरी 6 का उत्तर = 0
  1. C प्रोग्राम में ऐरे में तत्वों की अंतिम घटना को सापेक्ष क्रम में प्रिंट करें C प्रोग्राम में ऐरे में तत्वों की अंतिम घटना को सापेक्ष क्रम में प्रिंट करें

    समस्या विवरण तत्वों के साथ एक ऐरे a[] दिया गया है और कार्य सूची में दिए गए तत्वों की अंतिम घटनाओं को प्रिंट करना है। यहां हमें न केवल डुप्लिकेट तत्वों को हटाना है बल्कि हमें ऐरे में तत्वों की घटनाओं के क्रम को भी बनाए रखना है जैसा कि वे अंतिम बार हुए हैं। उदाहरण इनपुट: a[] = {4,2,2,4,1,5,1} आउटपुट

  1. C++ में सरणी के एलिमेंट्स का गुणनफल C++ में सरणी के एलिमेंट्स का गुणनफल

    पूर्णांक एलिमेंट्स की एक सरणी दी गई है और कार्य सरणी के एलिमेंट्स को गुणा करना और प्रदर्शित करना है। उदाहरण इनपुट-: arr[]={1,2,3,4,5,6,7} आउटपुट-: 1 x 2 x 3 x 4 x 5 x 6 x 7 = 5040 इनपुट-: arr[]={3, 4,6, 2, 7, 8, 4} आउटपुट-: 3 x 4 x 6 x 2 x 7 x 8 x 4 = 32256 नीचे दिए गए प्रोग्राम में उपयोग किया गया द

  1. पायथन प्रोग्राम: दी गई रेंज में विषम गुणनखंड वाले तत्वों की संख्या पायथन प्रोग्राम: दी गई रेंज में विषम गुणनखंड वाले तत्वों की संख्या

    इस लेख में हम दी गई समस्या के समाधान के बारे में जानेंगे। समस्या कथन हमें एक रेंज दी गई है, हमें उस रेंज में विषम गुणनखंडों की संख्या ज्ञात करनी है। दृष्टिकोण हम सभी जानते हैं कि एक रेंज में सभी पूर्ण वर्गों के विषम संख्या में गुणनखंड होते हैं। इसलिए यहां हम पूर्ण वर्गों की संख्या की गणना करेंगे। चू