1.この質問と349の違いは、数字を繰り返すために戻るには、だけでなく、重複した数字はに戻るには数回現れ確保するためだけではなく、ということです
2、質問に私は、設定されたコンテナに連絡し、この質問は私に基づいて、unordered_mapコンテナ(あなたがマップとunordered_mapの違いを知っている!)と接触させ、ハッシュテーブル
そして、リンクの違います。https://blog.csdn.net/u013130743/article/details/80794177(CSDN要約の転載作者)
。3、地図のコンテナとunordered_map基本的な使い方
書式#include <マップ>。
unordered_map <整数、文字列> MAP1; //最初の鍵である、第2のキー値(INTは他のタイプのデータであってもよいし、文字列であってもよい)オブジェクトに格納されています
map1.insert(ペア<整数、文字列>)(1、 "zhangsan"); //挿入モードの3つのデータ
map1.insert(マップ<整数、文字列> :: VALUE_TYPE)(1、 "zhangsan");
MAP1 [1] =「zhangsan」; //これは挿入モードではなく、上記の二つをカバーすることができます
map1.empty(); //は空気か否かを判断します
map1.begin(); map1.end(); //反復開始位置と終了位置
map1.size(); //要素の数を返します
map1.countは(); //要素指定された回数が表示されます返します。
MAP1 [キー]。
4、思考
ハッシュテーブルの基礎となる、ordered_mapを定義し、ベクトルは、コンテナが要素を繰り返し搭載定義
要素がベクターに格納されている間、アレイの要素とマップに格納された出現数、二番目の配列、対応する番号を検索するマップを横断マイナス1が発生します
5、コード
1つの // コンテナに関連付けられた第一の接触マップ 2 // 前の質問コンタクトは、情報を表示し、その地図は異なる設定をチェックし、設定されたマップのキーは値が設定されていません 。3 。4 クラスソリューション{ 5 公共: 6 ベクター< INT > INTERSECT(ベクトル< INT >&nums1、ベクトル< INT >&nums2){ 7。 ベクトル< INT > REC; 8 unordered_map < 整数、整数 > MAP1; 9 用(INT I = 0 ; I <nums1.size ();私は++ ){ 10 MAP1 [nums1 [I] + = 1 ; 11 } 12 のための(int型 iは= 0 ; iは<)(nums2.sizeと、iは++ ){ 13 であれば(MAP1 [nums2 [I]]> 0 ){ 14 rec.push_back(nums2 [I])。 15の MAP1 [nums2 [I]] - = 1 ; 16 } 17 } 18 リターンREC。 19 } 20 }。