マップ、スタック----次に大きな要素(スタック・ソリューションの研究を保留中)

この方法の一つ

まずトラバーサルnums2は、マップで見つかったnums1を横断して、その後、戻って一緒にマップに最初の大きな要素の各要素を入金し、されます。

1  クラスソリューション{
 2  公共3      ベクトル< INT > nextGreaterElement(ベクトル< INT >&nums1、ベクトル< INT >&nums2){
 4          地図< INTINT > 和。
5          ベクトル< int型 > のres;
6          int型 I = 0 ; iが(nums2.sizeを<); iが++ ){
 7              ブール値 =が見つかっ8              のためのint型 J = + 1; J <nums2.size()&&見出さ;!J ++ ){
 9                  もし(nums2 [J]> nums2 [I]){
 10                      sum.insert(マップ< INTINT > :: VALUE_TYPE(nums2 [i]は、nums2 [J]));
11は                      =見出さ12                  }
 13              }
 14              であれば(!見出さ)sum.insert(マップ< INTINT > :: VALUE_TYPE(nums2 [I]、 - 1 ))。
15          }
 16          のためのint型 iは= 0 ;)私は(nums1.sizeを<; iは++ ){
17              地図< INTINT > ::イテレータITER = sum.find(nums1 [I])。
18              であれば(ITER =!sum.end()){
 19                  res.push_back(iter-> 秒)。
20              }
 21              他を 続けます22          }
 23の         リターンRES。
24      }
 25 }。

 

おすすめ

転載: www.cnblogs.com/pacino12134/p/11028982.html