[leetcode] 739. Daily Temperatures
2022. 11. 28. 10:08ㆍ노트/Algorithm : 알고리즘
Given an array of integers temperatures represents the daily temperatures, return an array answer such that answer[i] is the number of days you have to wait after the ith day to get a warmer temperature. If there is no future day for which this is possible, keep answer[i] == 0 instead.
Example 1:
Input: temperatures = [73,74,75,71,69,72,76,73]
Output: [1,1,4,2,1,1,0,0]
Example 2:
Input: temperatures = [30,40,50,60]
Output: [1,1,1,0]
Example 3:
Input: temperatures = [30,60,90]
Output: [1,1,0]
Constraints:
- 1 <= temperatures.length <= 105
- 30 <= temperatures[i] <= 100
class Solution(object):
def dailyTemperatures(self, temperatures):
"""
:type temperatures: List[int]
:rtype: List[int]
"""
answer = [0] * len(temperatures)
stack = []
for i, cur in enumerate(temperatures):
while stack and cur > temperatures[stack[-1]]:
last = stack.pop()
answer[last] = i - last
stack.append(i)
return answer
'노트 > Algorithm : 알고리즘' 카테고리의 다른 글
[leetcode] 225. Implement Stack using Queues (0) | 2022.11.30 |
---|---|
[leetcode] 232. Implement Queue using Stacks (0) | 2022.11.30 |
[leetcode] 316. Remove Duplicate Letters (0) | 2022.11.24 |
[leetcode] 20. Valid Parentheses (0) | 2022.11.23 |
[leetcode] 328. Odd Even Linked List (0) | 2022.11.21 |