プログラミング
 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. アプリ ロッカー ソフトウェアを使用して Android でアプリをロックする方法

    スマートフォンには 200 以上のアプリがインストールされていますが、他の誰かが私の電話を使用してアプリケーションを開くと、時々心配になります。ほとんどの場合、これは止められない子供の場合に起こります.アプリへの不正アクセスを防ぐために、アプリ ロック – 指紋、パターン、パスワードを使用するなどのアプリ ロッカーを使用して、Android のアプリをいつでもロックできます。 インストールが完了すると、このアプリを使用して、4 桁のパスコード、パターン、または指紋でアプリをロックできます。 Android でアプリをロックするために指紋、パターン、パスワードを使用するアプリ ロックを選択する

  2. 2022 年の Android 向けアプリ ロック ベスト 15

    Android 用のアプリ ロッカーを見つけるのが難しいですか?技術の進歩に伴い、スマートフォンのセキュリティも進歩しています。アプリロックのないスマートフォンは古い話のようです。以前は、ほとんどのユーザーがロック画面のセキュリティ (Android フォンのデフォルト) に依存して、不正なアクセスを防いでいました。ただし、Android 向けのさまざまなアプリ ロック アプリケーションが Play ストアで利用できるようになりました。複数の機能を備えているため、デバイスを一般人が難攻不落にすることができます。では、Android に最適なアプリ ロックはどれでしょうか? 前回の記事では、デ