当前位置:网站首页>[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;
}
}
边栏推荐
- What are the characteristics of trademark translation and how to translate it?
- After working for 10 years, I changed to a programmer. Now I'm 35 + years old and I'm not anxious
- SAP SD发货流程中托盘的管理
- 利用快捷方式-LNK-上线CS
- Wish Dragon Boat Festival is happy
- Classification des verbes reconstruits grammaticalement - - English Rabbit Learning notes (2)
- Suspended else
- 女生学软件测试难不难 入门门槛低,学起来还是比较简单的
- Leetcode daily question (1870. minimum speed to arrive on time)
- Day 246/300 SSH connection prompt "remote host identification has changed!"
猜你喜欢

Do you really know the use of idea?

On the first day of clock in, click to open a surprise, and the switch statement is explained in detail

SQL Server Manager studio (SSMS) installation tutorial

L'Ia dans les nuages rend la recherche géoscientifique plus facile

Leetcode daily question (971. flip binary tree to match preorder traversal)

Lesson 7 tensorflow realizes convolutional neural network

CS通过(CDN+证书)powershell上线详细版

LeetCode - 152 乘积最大子数组

【每日一题】729. 我的日程安排表 I

The internationalization of domestic games is inseparable from professional translation companies
随机推荐
指尖上的 NFT|在 G2 上评价 Ambire,有机会获得限量版收藏品
CS certificate fingerprint modification
My creation anniversary
P5706 [deep foundation 2. Example 8] redistributing fat house water -- February 13, 2022
Biomedical localization translation services
Fedora/REHL 安装 semanage
同事上了个厕所,我帮产品妹子轻松完成BI数据产品顺便得到奶茶奖励
MySQL5.72. MSI installation failed
(practice C language every day) reverse linked list II
攻防世界 MISC中reverseMe简述
E-book CHM online CS
【每日一题】729. 我的日程安排表 I
Wish Dragon Boat Festival is happy
电子书-CHM-上线CS
Bitcoinwin (BCW): 借贷平台Celsius隐瞒亏损3.5万枚ETH 或资不抵债
查询字段个数
Day 245/300 JS foreach data cannot be updated to the object after multi-layer nesting
How to translate biomedical instructions in English
【Hot100】739. 每日温度
How much is the price for the seal of the certificate