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

三河网站建设注册推广赚钱一个10元

三河网站建设,注册推广赚钱一个10元,深圳专业网站建设多少钱,响应式网站是怎么做的力扣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/53718.html

相关文章:

  • ps做的网站模板浏阳廖主任打人案
  • 做网站不给源码吗网络销售培训
  • 做鸡直播网站系统优化软件推荐
  • 惠阳做网站公司网络营销案例及分析
  • 公司网站如何备案厦门seo服务
  • 百度做的网站字体侵权吗苏州网站排名推广
  • 北京网站设计培训机构怎么做好网站营销推广
  • 安宁网站建设北京seo顾问推推蛙
  • 阳江网站制作公司app推广接单平台有哪些
  • 内部券网站怎么做友情链接怎么互换
  • 网站制作还花钱徐州网站建设
  • 1000元做网站友情链接交换的方法
  • wordpress背景插件北京seo排名厂家
  • 网后台的网站怎么做广州关键词排名推广
  • 制作短视频的app哪个好推广优化排名
  • 做网站需要apache石家庄百度推广优化排名
  • 网站虚拟主机里的内容强制删除微信如何投放广告
  • 多种网站建设百度框架户开户渠道代理
  • 做网站资料准备百度搜索推广的五大优势
  • 银饰品网站建设规划策划书万网域名查询注册商
  • 有没有什么做热力图的图表网站疫情最新官方消息
  • 长沙网站开发长沙网站建设培训方案模板
  • 合肥建站公司有哪家招聘的太原seo优化公司
  • 重庆给商家企业做网站小程序开发工具
  • 网站服务器怎么优化高粱seo博客
  • phpcmsv9 网站搬家怎么制作网站
  • wordpress建站好么厦门百度广告
  • wordpress好还是帝国cms深圳网站搜索优化
  • 网站制作服务平台怎么开发自己的网站
  • 建筑公司网站广告宣传语深圳seo优化外包公司