LeetCode.739 Daily Temperatures
来源:互联网 发布:java 打印异常堆栈 编辑:程序博客网 时间:2024/06/05 12:23
题目:
Given a list of daily temperatures
, produce a list that, for each day in the input, tells you how many days you would have to wait until a warmer temperature. If there is no future day for which this is possible, put 0
instead.
For example, given the list temperatures = [73, 74, 75, 71, 69, 72, 76, 73]
, your output should be [1, 1, 4, 2, 1, 1, 0, 0]
.
Note: The length of temperatures
will be in the range [1, 30000]
. Each temperature will be an integer in the range [30, 100]
.
class Solution { public int[] dailyTemperatures(int[] temp) { //给定温度数组,产生一个集合,随着每天温度的输入,你必须等待多少个天才能回到更暖和的天气,如果不存在这样的天,则用0替代。 //思路:使用一个一个数组记录前面匹配过的数组和其对应的下标,下一个查找先从数组中找比其大于等于的数对应的下标。 //如果该下标小于当前下表,则该下标的后面继续查找 //注意:暴力解法会TLM //用来存储下标的数组 int [] stack=new int[temp.length]; int top=-1; int [] res=new int[temp.length]; for(int i=0;i<temp.length;i++){ //取栈顶元素 while(top!=-1&&temp[i]>temp[stack[top]]){ //比其小的元素 int index=stack[top--]; res[index]=i-index; } //将当前元素下标放入stack stack[++top]=i; } return res; }}
分析2(Stack实现-易理解):
class Solution { public int[] dailyTemperatures(int[] temp) { //给定温度数组,产生一个集合,随着每天温度的输入,你必须等待多少个天才能回到更暖和的天气,如果不存在这样的天,则用0替代。 //思路:使用一个栈来存储之前完成匹配的下标 //注意:暴力解法会TLM Stack<Integer> stack=new Stack<Integer>(); int [] res=new int[temp.length]; for(int i=0;i<temp.length;i++){ while(!stack.empty()&&temp[i]>temp[stack.peek()]){ int index=stack.pop(); res[index]=i-index; } //将下标存储 stack.push(i); } return res; }}
阅读全文
0 0
- LeetCode.739 Daily Temperatures
- [leetcode] 739. Daily Temperatures
- Leetcode 739. Daily Temperatures
- LeetCode刷题 | 739. Daily Temperatures
- leetcode weekly contest 61(739. Daily Temperatures)
- leetcode:739. Daily Temperatures 单调栈
- 739. Daily Temperatures
- 739. Daily Temperatures
- 739. Daily Temperatures
- LWC 61:739. Daily Temperatures
- Daily Temperatures问题及解法
- Daily
- CodinGame: Temperatures 反思
- English daily
- Daily Meeting
- Daily word
- DAILY BUILD
- daily report
- centos安装python3,并与python2并存
- docker生成tomcat镜像
- 在构造方法中初始化Universal-Image-Loader并做全局配置图片为圆形
- 【转载】程序员学习能力提升三要素
- 本机安装oracle的条件下如何用plsql远程连接数据库
- LeetCode.739 Daily Temperatures
- python发邮件
- servlet3-上传文件
- 【百度语音合成】JavaAPI方式语音合成示例
- EventBus详解
- 如何把内网IP映射到公网IP
- iOS app上架图文教程及注意事项
- react路由提高(Prompt、Redirect、match、Switch)
- ios 系统switch样式简述/实现