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

हैश-मैप का उपयोग करके लॉक और की समस्या


परिचय

विभिन्न लॉक्स की एक सूची और कीज़ की एक अन्य सूची दी गई है। हमारा कार्य दी गई सूची से लॉक और की के सही मिलान को ढूंढना है, और जब यह सही हो तो उस की को लॉक के साथ असाइन करना है।

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

इनपुट और आउटपुट

इनपुट: लॉक्स और कीज़ की सूचियाँ।
lock = { ),@,*,^,(,%, !,$,&,#}
key = { !, (, #, %, ), ^, &, *, $, @ }
आउटपुट: लॉक्स और कीज़ के मिलान के बाद:
Locks: ! ( # % ) ^ & * $ @
Keys: ! ( # % ) ^ & * $ @

एल्गोरिदम

lockAndKeyProblem(lock, key, n)
इनपुट: लॉक्स की सूची, कीज़ की सूची, n
आउटपुट: ढूंढें कि कौन सी की किस लॉक के लिए है

Begin
    हैशमैप परिभाषित करें
    i के लिए रेंज (0 से n-1) तक, करें
        hashmap[lock[i]] := i // लॉक्स के लिए हैशमैप सेट करें
    done
    i के लिए रेंज (0 से n-1) तक, करें
        यदि key[i] हैशमैप में मिलता है, तो
            lock[i] = key[i]
    done
End

उदाहरण (C++ कोड)

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

void show(char array[], int n) {
    for (int i = 0; i < n; i++)
        cout << array[i] << " ";
}

void lockAndKeyProblem(char lock[], char key[], int n) {
    map<char, int> hashMap;
    for (int i = 0; i < n; i++)
        hashMap[lock[i]] = i; // लॉक्स के लिए हैश मैप
    for (int i = 0; i < n; i++) // प्रत्येक लॉक के लिए प्रत्येक की
        if (hashMap.find(key[i]) != hashMap.end()) {
            lock[i] = key[i];
        }
}

int main() {
    char lock[] = {')','@','*','^','(','%','!','$','&','#'};
    char key[] = {'!','(','#','%',' )','^','&','*','$','@'};
    int n = 10;
    lockAndKeyProblem(lock, key, n);
    cout << "After matching Locks and Keys:" << endl;
    cout << "Locks: "; show(lock, n); cout << endl;
    cout << "Keys: "; show(key, n); cout << endl;
}

आउटपुट

After matching Locks and Keys:
Locks: ! ( # % ) ^ & * $ @
Keys: ! ( # % ) ^ & * $ @
  1. विंडोज 10 में Fn की लॉक मास्टर करें: चरण-दर-चरण गाइड विंडोज 10 में Fn की लॉक मास्टर करें: चरण-दर-चरण गाइड

    आपने देखा होगा कि आपके कीबोर्ड के शीर्ष पर पूरी पंक्ति में F1-F12 तक लेबल हैं। ये कुंजियाँ हर कीबोर्ड पर मिलती हैं, चाहे मैक हो या पीसी। ये कुंजियाँ अलग-अलग कार्य कर सकती हैं, जैसे Fn लॉक की को दबाए रखने पर एक अलग कार्य करती है, और आप कीबोर्ड के शीर्ष पर, नंबर कुंजियों के ऊपर मौजूद Fn कुंजियों के द्

  1. ऐप लॉकर के साथ अपने Android ऐप्स सुरक्षित करें: फिंगरप्रिंट, पैटर्न और पासवर्ड सुरक्षा ऐप लॉकर के साथ अपने Android ऐप्स सुरक्षित करें: फिंगरप्रिंट, पैटर्न और पासवर्ड सुरक्षा

    मेरे स्मार्टफोन पर 200+ ऐप्स इंस्टॉल हैं और कभी-कभी चिंतित हो जाता हूं जब कोई और मेरा फोन उपयोग करता है और मेरे एप्लिकेशन खोलता है। ज्यादातर समय, यह बच्चों के मामले में होता है जिन्हें रोका नहीं जा सकता। अपने ऐप पर किसी भी अनधिकृत पहुंच को रोकने के लिए, आप Android में ऐप लॉक - फिंगरप्रिंट, पैटर्न और

  1. 2022 के शीर्ष 15 एंड्रॉइड ऐप लॉक: आत्मविश्वास के साथ अपने फोन को सुरक्षित करें 2022 के शीर्ष 15 एंड्रॉइड ऐप लॉक: आत्मविश्वास के साथ अपने फोन को सुरक्षित करें

    एंड्रॉइड के लिए ऐप लॉकर ढूंढने में कठिनाई? तकनीकी प्रगति के साथ, स्मार्टफोन सुरक्षा भी प्रगति कर रही है। ऐप लॉक के बिना एक स्मार्टफोन पुरानी कहानी लगती है। पहले, अधिकांश उपयोगकर्ता गैरकानूनी पहुंच को रोकने के लिए लॉक स्क्रीन सुरक्षा (एंड्रॉइड फोन में डिफ़ॉल्ट) पर भरोसा करते थे। हालांकि, अब प्ले स्टो