当前位置: 首页 > 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.15wanjia.com/news/161758.html

相关文章:

  • 艺腾青岛网站建设建设微信商城网站
  • 可以更改上传到网站的文件内容吗wordpress菜单扩展
  • 网站开发的出路申通e物流的网站建设
  • 深圳响应式网站建设哪家好驻马店 网站建设
  • 建设网站实训报告书唐山建设网站
  • 建网站免费制作ppt的软件有哪些
  • 外贸门户网站seo小白入门教学
  • c 网站开发实例教学学校网站首页模板
  • 网站右下角广告代码传媒免费网站建设
  • 职业生涯规划网站开发背景郑州网站建设彳汉狮网络
  • 网站访问大小 计算流量iis做网站主目录选哪里
  • 郑州网站推广如何建立内外网网站
  • 中国建设移动门户网站wordpress时间中文版
  • word 关于做网站深圳专业网站建设企
  • 做营销型网站价格天元建设集团有限公司 李增启
  • c2c网站怎么做外包做网站不满意
  • 网站添加友情链接百度seo系统
  • 营销网站建设品牌企业买域名 个人博客 wordpress
  • 隆昌移动网站建设wordpress的html编辑器插件
  • 自适应网站开发语言网站可以做信息抓取吗
  • 国内优秀的设计网站推荐网站模板怎么使用教程
  • 国外看新闻app推荐厦门做网站优化哪家好
  • 宣威市住房和城乡建设局网站腾讯云建立wordpress
  • 网站建设结单 优帮云网站开发团队人员
  • 微信网站建设开发wordpress更换新主题
  • 网站设计有限公司怎么样重庆微信网站作公司
  • 浏览器的网站通知怎么做高端网站建设,恩愉科技
  • 沈阳定制网站wordpress 外链图片缩略图
  • 阿里云个人网站建设方案书南宁电脑培训网站开发
  • 漂亮的手机网站模板下载谷歌网站推广优化