[LeetCode]739. Daily Temperatures (Medium) Python-2024.01.31
Posted on 2024-01-31 18:05 Uriel 閱讀(46) 評論(0) 編輯 收藏 引用 所屬分類: 數(shù)據(jù)結(jié)構(gòu) 、閑來無事重切Leet Code早前的寫法是倒序->http://m.shnenglu.com/Uriel/articles/229495.html
改了正序?qū)懛ǎ炝瞬簧?br />
改了正序?qū)懛ǎ炝瞬簧?br />
1 #739
2 #Runtime: 998 ms (Beats 89.58%)
3 #Memory: 23.6 MB (Beats 98.27%)
4
5 class Solution(object):
6 def dailyTemperatures(self, temperatures):
7 """
8 :type temperatures: List[int]
9 :rtype: List[int]
10 """
11 ans = [0] * len(temperatures)
12 stk = []
13 for i, t in enumerate(temperatures):
14 if not stk:
15 stk.append(i)
16 else:
17 while stk and temperatures[stk[-1]] < t:
18 idx = stk.pop()
19 ans[idx] = i - idx
20 stk.append(i)
21 return ans
2 #Runtime: 998 ms (Beats 89.58%)
3 #Memory: 23.6 MB (Beats 98.27%)
4
5 class Solution(object):
6 def dailyTemperatures(self, temperatures):
7 """
8 :type temperatures: List[int]
9 :rtype: List[int]
10 """
11 ans = [0] * len(temperatures)
12 stk = []
13 for i, t in enumerate(temperatures):
14 if not stk:
15 stk.append(i)
16 else:
17 while stk and temperatures[stk[-1]] < t:
18 idx = stk.pop()
19 ans[idx] = i - idx
20 stk.append(i)
21 return ans