350-- 2つの配列の要素が相互に返さ

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 }。

 

おすすめ

転載: www.cnblogs.com/hehesunshine/p/11649437.html