zoukankan      html  css  js  c++  java
  • map、栈————下一个更大的元素(待定,栈解法学习中)

    方法一

    先遍历nums2,将每个元素后面第一个大的元素一起存入到map中,然后在遍历nums1,在map中找到。

     1 class Solution {
     2 public:
     3     vector<int> nextGreaterElement(vector<int>& nums1, vector<int>& nums2) {
     4         map<int,int> sum;
     5         vector<int> res;
     6         for(int i=0;i<nums2.size();i++){
     7             bool found=false;
     8             for(int j=i+1;j<nums2.size() && !found;j++){
     9                 if(nums2[j]>nums2[i]){
    10                     sum.insert(map<int,int>::value_type(nums2[i],nums2[j]));
    11                     found=true;                    
    12                 }
    13             }
    14             if(!found) sum.insert(map<int,int>::value_type(nums2[i],-1));
    15         }
    16         for(int i=0;i<nums1.size();i++){
    17             map<int,int>::iterator iter = sum.find(nums1[i]);
    18             if(iter!=sum.end()){
    19                 res.push_back(iter->second);
    20             }
    21             else continue;
    22         }
    23         return res;
    24     }
    25 };
  • 相关阅读:
    流程控制语句
    lminus
    TCL create list from file
    DFT 问答 III
    DFT 问答 II
    DFT 问答 I
    猜字符小游戏
    用户模式构造
    基元线程同步构造
    七大原则,24种设计模式
  • 原文地址:https://www.cnblogs.com/pacino12134/p/11028982.html
Copyright © 2011-2022 走看看