当前位置:网站首页>[hot100] 739. Température quotidienne
[hot100] 739. Température quotidienne
2022-07-06 06:50:00 【It Daily of Wang Liu】
739. Température quotidienne
Donner un tableau entier temperatures ,Indique la température quotidienne,Renvoie un tableau answer ,Parmi eux answer[i] Signifie pour i Oh, mon Dieu.,La prochaine température plus élevée apparaît quelques jours plus tard.Si la température ne monte pas après ça,Veuillez utiliser 0 Pour remplacer.
Entrée: temperatures = [73,74,75,71,69,72,76,73]
Produits: [1,1,4,2,1,1,0,0]
Compréhension du sujet:
Pour les entrées 73,Il a besoin Après une journée Jusqu'à ce que la température augmente,Le lendemain,,Augmentation de la température à 74 ,Donc le résultat correspondant est 1.
Pour les entrées 74,Il a besoin MéridienUn jour. Jusqu'à ce que la température augmente,Le troisième jour,,Augmentation de la température à 75 ,Donc le résultat correspondant est 1.
Pour les entrées 75,Il passe 1 Il a découvert que la température était 71,Pas plus que ça.,Continue d'attendre,Tout le temps J'ai attendu quatre jours.,Attendez que la température augmente le septième jour.,Augmentation de la température à 76 ,Donc le résultat correspondant est 4 .
Pour les entrées 71,Il passe 1 Il a découvert que la température était 69,Pas plus que ça.,Continue d'attendre,Tout le temps J'ai attendu deux jours.,Attendez que la température augmente le sixième jour.,Augmentation de la température à 72 ,Donc le résultat correspondant est 2 .
Pour les entrées 69,C'est Après une journée On a découvert que la température était 72, Déjà dépassé ,Donc le résultat correspondant est 1 .
Pour les entrées 72,C'est Après une journée On a découvert que la température était 76, Déjà dépassé ,Donc le résultat correspondant est 1 .
Pour les entrées 76,Suivi Pas de température Peut être dépassé ,Donc le résultat correspondant est 0 .
Pour les entrées 73,Suivi Pas de température Peut être dépassé ,Donc le résultat correspondant est 0 .
Des idées: Pour chaque valeur de température Faites une recherche en arrière , Trouver une valeur supérieure à la température actuelle ,C'est la façon la plus facile de penser.
Principes: Est de gauche à droite tous les autres nombres sauf le dernier sont traversés une fois , Le résultat correspondant à la dernière donnée doit être 0,Pas besoin de calculer..
En traversant, Chaque numéro va au dernier numéro , Jusqu'à ce qu'un plus grand nombre soit trouvé ,CompterNombre de fois Est la valeur de la sortie correspondante .
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;
}
}
Résoudre avec la pile:
Pile décroissante : Il n'y a que des éléments décroissants dans la pile .
Traverser tout le tableau,Si la pile n'est pas vide, Et le nombre actuel est supérieur à l'élément supérieur de la pile , Donc ce n'est pas Pile décroissante , Il faut donc enlever l'élément supérieur de la pile , Parce que le nombre actuel est plus grand que le nombre de l'élément supérieur de la pile , Et ça doit être le premier plus grand nombre que l'élément supérieur de la pile , Trouver directement l'écart d'indice est la distance entre les deux .
Continuez à regarder les nouveaux éléments du Haut de la pile , Jusqu'à ce que le nombre actuel soit inférieur ou égal à l'arrêt de l'élément supérieur de la pile , Puis mettez les nombres sur la pile , De cette façon, vous pouvez garder la pile décroissante tout le temps , Et la distance entre chaque nombre et le premier plus grand peut être calculée .
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;
}
}
边栏推荐
- AttributeError: Can‘t get attribute ‘SPPF‘ on <module ‘models.common‘ from ‘/home/yolov5/models/comm
- [ 英语 ] 语法重塑 之 英语学习的核心框架 —— 英语兔学习笔记(1)
- Day 248/300 thoughts on how graduates find jobs
- 18.多级页表与快表
- Chinese English comparison: you can do this Best of luck
- P5706 [deep foundation 2. Example 8] redistributing fat house water -- February 13, 2022
- 将ue4程序嵌入qt界面显示
- Leetcode - 152 product maximum subarray
- Explain in detail the functions and underlying implementation logic of the groups sets statement in SQL
- 26岁从财务转行软件测试,4年沉淀我已经是25k的测开工程师...
猜你喜欢
万丈高楼平地起,每个API皆根基
Bitcoinwin (BCW): the lending platform Celsius conceals losses of 35000 eth or insolvency
Tms320c665x + Xilinx artix7 DSP + FPGA high speed core board
ROS2安装及基础知识介绍
SQL Server Manager studio (SSMS) installation tutorial
同事上了个厕所,我帮产品妹子轻松完成BI数据产品顺便得到奶茶奖励
Fedora/rehl installation semanage
【每日一题】729. 我的日程安排表 I
基于PyTorch和Fast RCNN快速实现目标识别
我的创作纪念日
随机推荐
My creation anniversary
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
Latex文字加颜色的三种办法
Reflex WMS中阶系列3:显示已发货可换组
How to translate biomedical instructions in English
UNIPRO Gantt chart "first experience": multi scene exploration behind attention to details
AttributeError: Can‘t get attribute ‘SPPF‘ on <module ‘models. common‘ from ‘/home/yolov5/models/comm
26岁从财务转行软件测试,4年沉淀我已经是25k的测开工程师...
19.段页结合的实际内存管理
Facebook AI & Oxford proposed a video transformer with "track attention" to perform SOTA in video action recognition tasks
How to convert flv file to MP4 file? A simple solution
ECS accessKey key disclosure and utilization
Introduction and underlying analysis of regular expressions
利用快捷方式-LNK-上线CS
Reflex WMS medium level series 3: display shipped replaceable groups
详解SQL中Groupings Sets 语句的功能和底层实现逻辑
Is it difficult for girls to learn software testing? The threshold for entry is low, and learning is relatively simple
Monotonic stack
Number of query fields
Cobalt strike feature modification