当前位置:网站首页>[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;
}
}
边栏推荐
- [English] Grammar remodeling: the core framework of English Learning -- English rabbit learning notes (1)
- 将ue4程序嵌入qt界面显示
- Py06 dictionary mapping dictionary nested key does not exist test key sorting
- Facebook AI & Oxford proposed a video transformer with "track attention" to perform SOTA in video action recognition tasks
- PCL实现选框裁剪点云
- 19.段页结合的实际内存管理
- [English] Verb Classification of grammatical reconstruction -- English rabbit learning notes (2)
- LeetCode每日一题(971. Flip Binary Tree To Match Preorder Traversal)
- Leetcode daily question (971. flip binary tree to match preorder traversal)
- Day 246/300 SSH connection prompt "remote host identification has changed!"
猜你喜欢

Chinese English comparison: you can do this Best of luck

Explain in detail the functions and underlying implementation logic of the groups sets statement in SQL

Fedora/REHL 安装 semanage

Is it difficult for girls to learn software testing? The threshold for entry is low, and learning is relatively simple

接口自动化测试实践指导(上):接口自动化需要做哪些准备工作

How do programmers remember code and programming language?

E-book CHM online CS

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

26岁从财务转行软件测试,4年沉淀我已经是25k的测开工程师...

(practice C language every day) reverse linked list II
随机推荐
[unity] how to export FBX in untiy
Simple query cost estimation
MySQL high frequency interview 20 questions, necessary (important)
Py06 dictionary mapping dictionary nested key does not exist test key sorting
Traffic encryption of red blue confrontation (OpenSSL encrypted transmission, MSF traffic encryption, CS modifying profile for traffic encryption)
前缀和数组系列
18.多级页表与快表
19.段页结合的实际内存管理
My seven years with NLP
Office-DOC加载宏-上线CS
How to translate professional papers and write English abstracts better
指尖上的 NFT|在 G2 上评价 Ambire,有机会获得限量版收藏品
GET 和 POST 请求类型的区别
云上有AI,让地球科学研究更省力
红蓝对抗之流量加密(Openssl加密传输、MSF流量加密、CS修改profile进行流量加密)
What are the commonly used English words and sentences about COVID-19?
Leetcode daily question (971. flip binary tree to match preorder traversal)
ROS学习_基础
How much is it to translate Chinese into English for one minute?
详解SQL中Groupings Sets 语句的功能和底层实现逻辑