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

三河网站建设seo搜索引擎优化兴盛优选

三河网站建设,seo搜索引擎优化兴盛优选,郑州网站建设制作价格,武汉工程造价咨询公司力扣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.hrbkazy.com/news/28507.html

相关文章:

  • win2008做的网站打不开创建网站要钱吗
  • 培训机构是干什么的seo优化基础教程pdf
  • 安徽网站建设公司排名班级优化大师免费下载学生版
  • 网站做优化有什么用吗网页模板之家
  • 学校网站怎么做的好无锡百度推广平台
  • 大兴网站建设设计公司网站模板之家官网
  • 一站式免费建站平台网站推广策划书
  • 东阳营销型网站建设品牌app推广活动策划方案
  • 宁波网站建设主页宁波网站建设与维护
  • collectfrom企业网站模版南京seo排名扣费
  • 兰州网站排名公司百度的首页
  • 上海市建设安全协会网站打不开扫描图片找原图
  • 网站编辑超链接怎么做企业seo排名
  • 修改wordpress入口地址厦门seo结算
  • wordpress 无法加载cssseo排名优化首页
  • 做建材哪个网站平台好网站优化培训
  • 石家庄站列车时刻表二十条疫情优化措施
  • 微网站访问量seo是广告投放吗
  • 网站建设详细流磁力狗
  • 洞口做网站的公司百度关键词热度
  • 桂林出网站正规网站优化推广
  • 网站开发需要哪些工程师抖音seo排名系统
  • 建设企业网站的人员组成千峰培训多少钱
  • 高端网站制作免费开源网站
  • 网站建设基本流程详细说明搜索引擎seo关键词优化方法
  • 济源做网站怎么收费品牌营销是什么
  • 商城网站制作 价格个人引流推广怎么做
  • 罗湖企业网站建设做网站的软件叫什么
  • 看网站不受限制的浏览器有哪些app开发费用一般多少钱
  • 如何做垂直网站济南网络优化网站