当前位置: 首页 > news >正文

三河网站建设合肥疫情最新消息

三河网站建设,合肥疫情最新消息,网站快速盈利,网页设计的主题力扣739.每日温度 题目链接:https://leetcode.cn/problems/daily-temperatures/ 思路 什么时候用单调栈呢? 通常是一维数组,要寻找任一个元素的右边或者左边第一个比自己大或者小的元素的位置,此时我们就要想到可以用单调栈了…

力扣739.每日温度

题目链接:https://leetcode.cn/problems/daily-temperatures/

思路

什么时候用单调栈呢?

通常是一维数组,要寻找任一个元素的右边或者左边第一个比自己大或者小的元素的位置,此时我们就要想到可以用单调栈了。

定义一个单调栈,维护的是一个从栈顶到栈底不递减的序列。注意栈里放的是下标,判断大小时只要取出对应的数组元素即可。

有三种情况:

(1)遍历元素小于栈顶元素,此时是符合栈顶到栈底不递减的规律的,将遍历元素压入栈中;

(2)遍历元素等于栈顶元素,此时是符合栈顶到栈底不递减的规律的,将遍历元素压入栈中;

(3)重点来了:遍历元素小于栈顶元素,不符合规律了,此时用res数组记录两个下标的差值(就是第一个比自身温度高的天数了),再弹出栈顶元素,将遍历元素压入栈中。

这里只需要手动模拟一下就可以理解了。

完整代码

class Solution {public int[] dailyTemperatures(int[] temperatures) {int[] res = new int[temperatures.length];Deque<Integer> stack = new LinkedList<>();stack.push(0);for (int i = 1; i < temperatures.length; i++) {if(temperatures[i] < temperatures[stack.peek()]){stack.push(i);}else if(temperatures[i] == temperatures[stack.peek()]){stack.push(i);}else{while(!stack.isEmpty() && temperatures[i] > temperatures[stack.peek()]){res[stack.peek()] = i-stack.peek();stack.pop();}stack.push(i);}}return res;}
}

力扣496.下一个更大元素1

题目链接:https://leetcode.cn/problems/next-greater-element-i/

思路

因为数组里的元素各不相同,所以用hashmap来存放元素,更容易查找。

此时栈里存放的是nums2的下标。

更多细节,需要手动模拟一下比较清楚。特别是找到遍历元素大于栈顶元素的那一段。

完整代码

class Solution {public int[] nextGreaterElement(int[] nums1, int[] nums2) {int[] res = new int[nums1.length];Arrays.fill(res,-1);HashMap<Integer,Integer> hashmap = new HashMap<>();for (int i = 0; i < nums1.length; i++) {hashmap.put(nums1[i],i);}Deque<Integer> stack = new LinkedList<>();stack.push(0);for (int i = 1; i < nums2.length; i++) {if(nums2[i] <= nums2[stack.peek()]){stack.push(i);}else{while (!stack.isEmpty() && nums2[i] > nums2[stack.peek()]){if(hashmap.containsKey(nums2[stack.peek()])){int index = hashmap.get(nums2[stack.peek()]);res[index] = nums2[i];}stack.pop();}stack.push(i);}}return res;}
}
http://www.mmbaike.com/news/24750.html

相关文章:

  • 网站建设经验分享外国人b站
  • 论述我国政府门户网站建设搜索引擎优化关键词的处理
  • 网站设置密码东莞网站推广哪里找
  • 营销手机网站制作网站推广要点
  • 凡科做的网站行不行aso优化费用
  • 网站跳转链接生成网站建设网站定制
  • 奶茶网站建设方案模板谷歌seo服务商
  • 马鞍山网站建设电话最新国内新闻50条简短
  • 哪个网站教做西餐广州seo外包多少钱
  • 手机微网站怎么制作静态网页设计与制作
  • 与做网站有关的参考文献推广方法有哪几种
  • 淘宝网页版评价管理在哪里seo搜索如何优化
  • 校园推广活动策划书优化资源配置
  • 腾讯虚拟主机太原自动seo
  • 怎么用wordpress建电商网站百度一键优化
  • 网站建设和web前端一样吗建站合肥网络公司seo
  • 厦门建设网站的岳阳网站界面设计
  • 宜昌市城市建设学校网站天天seo百度点击器
  • 网站怎么做团购今日军事新闻最新消息新闻报道
  • 网站硬件建设网络营销乐云seo
  • 湖南网站建设 尖端磐石网络线上推广渠道主要有哪些
  • 广州企业名录seo优化seo外包
  • 品牌网站设计案例网站服务器速度对seo有什么影响
  • 廖雪峰的网站怎么做的网站制作的步骤
  • 美国做批发的网站有哪些推广公司品牌
  • java做网站用什么框架网站域名备案查询
  • 企业网站建设的意义免费发布推广的平台
  • web网站建设方案免费关键词搜索引擎工具
  • 服务器在美国网站厦门seo搜索引擎优化
  • 找事做搜索网站聊城网站seo