当前位置:网站首页>【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;
}
}
边栏推荐
- Biomedical localization translation services
- Reflex WMS medium level series 3: display shipped replaceable groups
- 万丈高楼平地起,每个API皆根基
- 前缀和数组系列
- UniPro甘特图“初体验”:关注细节背后的多场景探索
- [ 英語 ] 語法重塑 之 動詞分類 —— 英語兔學習筆記(2)
- 一文读懂简单查询代价估算
- 【刷题】怎么样才能正确的迎接面试?
- librosa音频处理教程
- The ECU of 21 Audi q5l 45tfsi brushes is upgraded to master special adjustment, and the horsepower is safely and stably increased to 305 horsepower
猜你喜欢
How to translate professional papers and write English abstracts better
Reflex WMS medium level series 3: display shipped replaceable groups
BUU的MISC(不定时更新)
Changes in the number of words in English papers translated into Chinese
LeetCode - 152 乘积最大子数组
Brief introduction to the curriculum differences of colleges and universities at different levels of machine human major -ros1/ros2-
我的创作纪念日
Market segmentation of supermarket customers based on purchase behavior data (RFM model)
机器学习植物叶片识别
Cobalt strike feature modification
随机推荐
Reflex WMS medium level series 3: display shipped replaceable groups
Suspended else
Attributeerror: can 't get attribute' sppf 'on < module' models. Common 'from' / home / yolov5 / Models / comm
一文读懂简单查询代价估算
SSO process analysis
【服务器数据恢复】IBM服务器raid5两块硬盘离线数据恢复案例
Fedora/REHL 安装 semanage
查询字段个数
机器学习植物叶片识别
My seven years with NLP
Py06 dictionary mapping dictionary nested key does not exist test key sorting
In English translation of papers, how to do a good translation?
How effective is the Chinese-English translation of international economic and trade contracts
[brush questions] how can we correctly meet the interview?
Leetcode daily question (1870. minimum speed to arrive on time)
攻防世界 MISC中reverseMe简述
Machine learning plant leaf recognition
[English] Verb Classification of grammatical reconstruction -- English rabbit learning notes (2)
中青看点阅读新闻
《从0到1:CTFer成长之路》书籍配套题目(周更)