当前位置:网站首页>【Hot100】739. Daily temperature
【Hot100】739. Daily temperature
2022-07-06 06:51:00 【Wang Liuliu's it daily】
739. Daily temperature
Given an array of integers temperatures , Indicates the daily temperature , Returns an array answer , among answer[i] Refers to the i God , The next higher temperature appears in a few days . If the temperature doesn't rise after that , Please use... In this position 0 Instead of .
Input : temperatures = [73,74,75,71,69,72,76,73]
Output : [1,1,4,2,1,1,0,0]
Topic understanding :
For input 73, It needs to After a day Until the temperature rises , That is, the next day , The temperature rises to 74 , So the corresponding result is 1.
For input 74, It needs to the One day Until the temperature rises , On the third day , The temperature rises to 75 , So the corresponding result is 1.
For input 75, It passes by 1 The temperature was found to be 71, No more than it , Keep waiting , always Wait four days , Wait until the temperature rises on the seventh day , The temperature rises to 76 , So the corresponding result is 4 .
For input 71, It passes by 1 The temperature was found to be 69, No more than it , Keep waiting , always Waited two days. , Wait until the temperature rises on the sixth day , The temperature rises to 72 , So the corresponding result is 2 .
For input 69, it After a day It turns out that the temperature is 72, It's over it , So the corresponding result is 1 .
For input 72, it After a day It turns out that the temperature is 76, It's over it , So the corresponding result is 1 .
For input 76, follow-up There is no temperature Can surpass it , So the corresponding result is 0 .
For input 73, follow-up There is no temperature Can surpass it , So the corresponding result is 0 .
idea : For each temperature value Search backward in turn , Find a value higher than the current temperature , This is the easiest way to think about it .
principle : From left to right, all numbers except the last one are traversed once , The result of the last data must be 0, There is no need to calculate .
When traversing , Every number goes backward , Until we find a larger number , Count frequency Is the corresponding output value .
class Solution {
public int[] dailyTemperatures(int[] temperatures) {
int len = temperatures.length;
int[] res = new int[len];
for(int i=0;i<len;i++){
int cur = temperatures[i];
if(cur < 100){
for(int j=i+1;j<len;j++){
if(temperatures[j] > cur){
res[i] = j-i;
break;
}
}
}
}
return res;
}
}
Use the stack to solve :
Decrement stack : There are only diminishing elements in the stack .
Traverse the entire array , If the stack is not empty , And the current number is greater than the stack top element , So if you go directly to the stack, it's not Decrement stack , So you need to take out the top element of the stack , Because the current number is larger than the number of the top element of the stack , And it must be the first one greater than the number of elements at the top of the stack , Directly find out the subscript difference is the distance between the two .
Keep looking at the new stack top elements , Until the current number is less than or equal to the top element of the stack , Then put the numbers on the stack , This keeps the decrement stack going , And the distance between each number and the first number greater than it can also be calculated .
class Solution {
public int[] dailyTemperatures(int[] T) {
Stack<Integer> stack = new Stack<>();
int length = T.length;
int[] result = new int[length];
for (int i = 0; i < length; i++) {
while (!stack.isEmpty() && T[i] > T[stack.peek()]) {
int pre = stack.pop();
result[pre] = i - pre;
}
stack.add(i);
}
return result;
}
}
边栏推荐
- Latex文字加颜色的三种办法
- 【Hot100】739. 每日温度
- How to do a good job in financial literature translation?
- ROS2安装及基础知识介绍
- How effective is the Chinese-English translation of international economic and trade contracts
- Blue Bridge Cup zero Foundation National Championship - day 20
- 26岁从财务转行软件测试,4年沉淀我已经是25k的测开工程师...
- [ 英语 ] 语法重塑 之 英语学习的核心框架 —— 英语兔学习笔记(1)
- BUU的MISC(不定时更新)
- 成功解决TypeError: data type ‘category‘ not understood
猜你喜欢

Wish Dragon Boat Festival is happy

女生学软件测试难不难 入门门槛低,学起来还是比较简单的

《从0到1:CTFer成长之路》书籍配套题目(周更)

SAP SD发货流程中托盘的管理

(practice C language every day) reverse linked list II

详解SQL中Groupings Sets 语句的功能和底层实现逻辑

机器人类专业不同层次院校课程差异性简述-ROS1/ROS2-

Reflex WMS中阶系列3:显示已发货可换组

MySQL5.72. MSI installation failed

Cobalt strike feature modification
随机推荐
基于PyTorch和Fast RCNN快速实现目标识别
SSO流程分析
Day 245/300 JS foreach data cannot be updated to the object after multi-layer nesting
Windows Server 2016 standard installing Oracle
CS passed (cdn+ certificate) PowerShell online detailed version
Database basics exercise part 2
电子书-CHM-上线CS
Introduction and underlying analysis of regular expressions
After working for 10 years, I changed to a programmer. Now I'm 35 + years old and I'm not anxious
How much is it to translate Chinese into English for one minute?
hydra常用命令
UWA Pipeline 2.2.1 版本更新说明
[Yu Yue education] Dunhuang Literature and art reference materials of Zhejiang Normal University
Apache dolphin scheduler source code analysis (super detailed)
[brush questions] how can we correctly meet the interview?
Day 246/300 SSH connection prompt "remote host identification has changed!"
【服务器数据恢复】IBM服务器raid5两块硬盘离线数据恢复案例
P5706 [deep foundation 2. Example 8] redistributing fat house water -- February 13, 2022
How to translate biomedical instructions in English
My seven years with NLP