কম্পিউটার টিউটোরিয়াল

হ‍্যাশ ম্যাপ দিয়ে লক অ‍্যান্ড কী সমস্যা (Lock & Key problem using Hash-map)


ভিন্ন লক এবং অন্য একটি কী-এর লিস্ট দেওয়া আছে। আমাদের কাজ প্রদত্ত লিস্ট থেকে লক এবং কী-এর সঠিক মিল বের করা, এবং কীটি সঠিক হলে সেটি লক দিয়ে অ্যাসাইন করা।

এই পদ্ধতিতে আমরা সব লক ট্রাভার্স করব এবং একটি হ‍্যাশ-ম্যাপ তৈরি করব, তারপর, প্রতিটি কী হ‍্যাশ-ম্যাপে সার্চ করা হবে। যখন কীটি মেলে, তবে সেটিকে বৈধ কী হিসেবে চিহ্নিত করে লক দিয়ে অ্যাসাইন করা হবে।

ইনপুট এবং আউটপুট

ইনপুট: লক এবং কী-এর লিস্ট। lock = { ),@,*,^,(,%, !,$,&,#} key = { !, (, #, %, ), ^, &, *, $, @ } আউটপুট: মিল করার পর লক এবং কী: Locks: ! ( # % ) ^ & * $ @ Keys: ! ( # % ) ^ & * $ @

অ্যালগরিদম

lockAndKeyProblem(lock, key, n)

ইনপুট: লক-এর লিস্ট, কী-এর লিস্ট, n।

আউটপুট: কোন কী কোন লক জন্য তা বের করুন।

শুরু 
  hashmap সংজ্ঞায়িত করুন 
  i ০ থেকে n-1 রেঞ্জে, করুন 
    hashmap[lock[i]] := i  //লক জন্য হ‍্যাশম্যাপ সেট করুন 
  শেষ 
  i ০ থেকে n-1 রেঞ্জে, করুন 
    যদি key[i] হ‍্যাশম্যাপে পাওয়া যায়, তবে 
      lock[i] = key[i] 
  শেষ 
শেষ

উদাহরণ

#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. ওয়িনডোজ ১০-এ কীবোর্ড দিয়ে রাইট-ক্লিক: সহজ ধাপাবলী

  2. উইন্ডোজ ১০-এ Fn কী লক মাস্টার করুন: ধাপে ধাপে গাইড

  3. অ্যাপ লকার দিয়ে অ্যান্ড্রয়েড অ্যাপ সিকিউর করুন: ফিংগারপ্রিন্ট, প্যাটার্ন ও পাসওয়ার্ড প্রোটেকশন

  4. ২০২২ সালের সেরা ১৫ Android অ্যাপ লক: আত্মবিশ্বাসের সাথে আপনার ফোন সুরক্ষিত করুন