第四十八天 第十章 单调栈part01 739. 每日温度 496.下一个更大元素 I 503.下一个更大元素II
创始人
2024-12-16 13:07:32
0

  739. 每日温度  

使用单调栈:注意栈中的递增递减顺序。

class Solution { public:     vector dailyTemperatures(vector& temperatures) {        vector res(temperatures.size(),0);        stack sta;        sta.push(0);        for(int i=1;itemperatures[sta.top()]){             while(!sta.empty() && temperatures[i]>temperatures[sta.top()]){ //注意要判断栈是否为空             res[sta.top()]=i-sta.top();             sta.pop();             }             sta.push(i);           }             else{             sta.push(i);           }        }        return res;     }  }; /*暴力,超时 class Solution { public:     vector dailyTemperatures(vector& temperatures) {        vector res(temperatures.size(),0);        for(int i=0;i

496.下一个更大元素 I  

主要是要在nums2中查询nums1中元素的同时,要将nums1元素的下标保存。所以使用了map。

class Solution { public:     vector nextGreaterElement(vector& nums1, vector& nums2) {         stack st;         vector result(nums1.size(), -1);         if (nums1.size() == 0) return result;          unordered_map umap;          for (int i = 0; i < nums1.size(); i++) {             umap[nums1[i]] = i;         }         st.push(0);         for (int i = 1; i < nums2.size(); i++) {             while (!st.empty() && nums2[i] > nums2[st.top()]) {                 if (umap.count(nums2[st.top()])) {                      int index = umap[nums2[st.top()]];                      result[index] = nums2[i];                 }                 st.pop();             }             st.push(i);         }         return result;     } };

503.下一个更大元素II 

这题要处理循环数组,也就是多次遍历数组。我么可以:

1.两个nums数组拼接在一起。

2.其实也可以不扩充nums,而是在遍历的过程中模拟走了两遍nums数组。

class Solution { public:     vector nextGreaterElements(vector& nums) {         vector res(nums.size(),-1);         stack sta;         for(int i=0;i < nums.size()*2;i++){             while(!sta.empty()&&nums[i%nums.size()]>nums[sta.top()]){                 res[sta.top()]=nums[i%nums.size()];                 sta.pop();             }             sta.push(i % nums.size());         }         return res;     } };

相关内容

热门资讯

来一盘!大众互娱辅助器(透明挂... 来一盘!大众互娱辅助器(透明挂)外挂透明挂辅助app(2024已更新)(哔哩哔哩)1、玩家可以在大众...
玩家必看科普!闽南旺旺麻将(好... 玩家必看科普!闽南旺旺麻将(好像真的是有挂)详细辅助挂教程1、上手简单,内置详细流程视频教学,新手小...
9分钟了解!开心泉州麻将挂是真... 9分钟了解!开心泉州麻将挂是真的吗,雀友游戏一贯有挂,曝光教程(有挂方法);1、9分钟了解!开心泉州...
七分钟详情!优乐麻将有没有挂,... 七分钟详情!优乐麻将有没有挂,越乡游双扣辅助工具(果然有辅助挂)1、该软件可以轻松地帮助玩家将越乡游...
一分钟了解!!广东雀神智能辅助... 一分钟了解!!广东雀神智能辅助器下载(透视)外挂透明挂辅助挂(2023已更新)(哔哩哔哩)1、每一步...
玩家实测!老友汇软件神器(一贯... 玩家实测!老友汇软件神器(一贯有挂)详细透视辅助教程老友汇软件神器是一种具有地方特色的麻将游戏,要想...
8分钟辅助!星悦麻将有挂吗20... 8分钟辅助!星悦麻将有挂吗2020,开心十三张辅助挂本来真的是有挂,黑科技教程(有挂攻略)星悦麻将有...
5分钟黑科技!闲来麻将,天天福... 5分钟黑科技!闲来麻将,天天福建十三张吗(果然有挂)1.天天福建十三张吗 ai辅助创建新账号,点击进...
总算了解!!微信跑得快辅助神器... 总算了解!!微信跑得快辅助神器(透明挂)外挂透明挂辅助软件(2020已更新)(哔哩哔哩);1、在微信...
揭秘!白金岛跑得快外 挂(确实... 揭秘!白金岛跑得快外 挂(确实真的有挂)详细透视教程;1、任何白金岛跑得快外 挂ai辅助神器的玩家都...