第四十八天 第十章 单调栈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;     } };

相关内容

热门资讯

透视辅助!哈糖大菠萝可以开挂吗... 哈糖大菠萝可以开挂吗开挂教程视频分享装挂详细步骤在当今的网络游戏中,哈糖大菠萝可以开挂吗作为一种经典...
透视辅助!德州透视脚本,德州透... >>您好:德州透视hhpoker确实是有挂的,很多玩家在这款德州透视hhpoker游戏中打牌都会发现...
透视辅助!wepoker是不是... wepoker是不是有人用挂是一款专注玩家量身打造的游戏记牌类型软件,在wepoker是不是有人用挂...
透视辅助!wepoker免费脚... wepoker辅助器如何使用开挂教程视频分享装挂详细步骤在当今的网络游戏中,wepoker辅助器如何...
透视辅助!pokerworld... 透视辅助!pokerworld软件,hhpoker辅助靠谱吗,传授开挂辅助神器(透视有挂功能);无需...
透视辅助!wepoker有没有... 您好:这款wepoker有没有辅助游戏是可以开挂的,确实是有挂的,很多玩家在这款wepoker有没有...
透视辅助!wepoker挂,w... 透视辅助!wepoker挂,wpk模拟器多开,实测开挂辅助脚本(透视有挂方针)【无需打开直接搜索加薇...
透视辅助!智星德州辅助译码插件... 透视辅助!智星德州辅助译码插件靠谱吗,hhpoker辅助软件是真的么,必看开挂辅助插件(透视有挂方法...
透视辅助!wepoker好友局... 透视辅助!wepoker好友局透视,购买的wpk辅助在哪里下载,曝光开挂辅助插件(透视有挂工具),购...
透视辅助!hhpoker免费辅... 您好:hhpoker免费辅助器这款游戏可以开挂的,确实是有挂的,很多玩家在这款游戏中打牌都会发现很多...