数値の検索

760 ワード

中に入ると


A 1の数字がA 2にある場合、1がなければ0を返す問題です.

コードの説明


全部で2つの方法で解くことができます.1つは繰り返しで、もう1つはハッシュです.まず,反復文で解く場合,A 1に1つの数字があり,A 2の数字と比較する場合,同じ数字があればflagをtrueとする.flagが本物の場合は、1または0を挿入します.
ハッシュは、マッピングされたm(無秩序であるべき)のキーにA 1の値を入れ、値をすべて0に調整します.次のA 2に適切な値があるかどうかを比較し、ある場合は1でvalueを交換します.

コード#コード#

/*해시*/
	for (auto mm : A1) {
		m[mm] = 0;
	}

	for (int i = 0; i < 5; i++) {
		if (m.find(A2[i]) != m.end()) {
			m[A2[i]] = 1;
		}
	}
    
    /*for*/
for (int i = 0; i < 5; i++) {
		bool flag = false;
		for (int j = 0; j < 5; j++) {
			if (A1[i] == A2[j]) {
				flag = true;
				break;
			}
		}
		if (flag == true) {
			v.push_back(1);
		}
		else {
			v.push_back(0);
		}
	}
    ~~~