From 676611e233b4e7423213765838b41f10a5621108 Mon Sep 17 00:00:00 2001 From: Sainnhe Park Date: Fri, 16 Dec 2022 15:48:54 +0800 Subject: [PATCH] Update s0739 --- src/s0739_daily_temperatures.cpp | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/src/s0739_daily_temperatures.cpp b/src/s0739_daily_temperatures.cpp index 819e6dc..a255b64 100644 --- a/src/s0739_daily_temperatures.cpp +++ b/src/s0739_daily_temperatures.cpp @@ -10,10 +10,16 @@ vector S0739::dailyTemperatures(vector& temperatures) { // 栈中的元素为向量的下标 // 向量下标对应的元素从栈底到栈顶单调递增 stack s; - s.push(0); // 初始化 ans 中的所有元素为 0 vector ans(len, 0); - for (int i{1}; i < len; ++i) { + for (int i{0}; i < len; ++i) { + // 当栈为空时,直接入栈然后 continue + if (s.empty()) { + s.push(i); + continue; + } + // 当我们发现当前元素比栈顶元素大时,循环弹出 + // 注意,是循环弹出,而不是 if 弹出 while (temperatures[i] > temperatures[s.top()]) { ans[s.top()] = i - s.top(); s.pop();