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

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


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

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

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

Input:
The lists of locks and keys.
lock = { ),@,*,^,(,%, !,$,&,#}
key = { !, (, #, %, ), ^, &, *, $, @ }
Output:
After matching Locks and Keys:
Locks: ! ( # % ) ^ & * $ @
Keys: ! ( # % ) ^ & * $ @

एल्गोरिदम

lockAndKeyProblem(lock, key, n)

इनपुट: तालों की सूची, चाबियों की सूची, n.

आउटपुट: पता लगाएं कि कौन सी चाबी किस लॉक के लिए है।

Begin
   define hashmap
   for i in range (0 to n-1), do
      hashmap[lock[i]] := i  //set hashmap for locks
   done

   for i in range (0 to n-1), do
      if key[i] is found in the hashmap, then
         lock[i] = key[i]
   done
End

उदाहरण

#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;           //hash map for locks

   for(int i = 0; i<n; i++) //for each keys for each lock
      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. Windows 10 में Fn की लॉक का उपयोग कैसे करें

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

  1. ऐप लॉकर सॉफ्टवेयर का उपयोग करके एंड्रॉइड में ऐप को कैसे लॉक करें?

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

  1. 2022 में Android के लिए 15 सर्वश्रेष्ठ ऐप लॉक

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