当前位置:网站首页>【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;
}
}
边栏推荐
- SQL Server Manager studio (SSMS) installation tutorial
- [Yu Yue education] flower cultivation reference materials of Weifang Vocational College
- LeetCode每日一题(971. Flip Binary Tree To Match Preorder Traversal)
- At the age of 26, I changed my career from finance to software testing. After four years of precipitation, I have been a 25K Test Development Engineer
- 基于PyTorch和Fast RCNN快速实现目标识别
- Leetcode daily question (1997. first day where you have been in all the rooms)
- What are the characteristics of trademark translation and how to translate it?
- What is the difference between int (1) and int (10)? Senior developers can't tell!
- 【刷题】怎么样才能正确的迎接面试?
- SSO process analysis
猜你喜欢
MySQL5.72. MSI installation failed
Office doc add in - Online CS
mysql的基础命令
[ 英语 ] 语法重塑 之 动词分类 —— 英语兔学习笔记(2)
Is it difficult for girls to learn software testing? The threshold for entry is low, and learning is relatively simple
接口自动化测试框架:Pytest+Allure+Excel
Biomedical English contract translation, characteristics of Vocabulary Translation
26岁从财务转行软件测试,4年沉淀我已经是25k的测开工程师...
(practice C language every day) reverse linked list II
Every API has its foundation when a building rises from the ground
随机推荐
Data security -- 13 -- data security lifecycle management
ROS2安装及基础知识介绍
攻防世界 MISC中reverseMe简述
自动化测试环境配置
How to translate biomedical instructions in English
【每日一题】729. 我的日程安排表 I
Day 245/300 JS foreach data cannot be updated to the object after multi-layer nesting
接口自动化测试实践指导(上):接口自动化需要做哪些准备工作
Today's summer solstice
[brush questions] how can we correctly meet the interview?
Pallet management in SAP SD delivery process
kubernetes集群搭建Zabbix监控平台
Wish Dragon Boat Festival is happy
Redis Foundation
Lesson 7 tensorflow realizes convolutional neural network
指尖上的 NFT|在 G2 上评价 Ambire,有机会获得限量版收藏品
pymongo获取一列数据
女生学软件测试难不难 入门门槛低,学起来还是比较简单的
UNIPRO Gantt chart "first experience": multi scene exploration behind attention to details
It is necessary to understand these characteristics in translating subtitles of film and television dramas