739. 每日温度
class Solution:
def dailyTemperatures(self, temperatures: List[int]) -> List[int]:
answer=[0]*len(temperatures)
stack=[]
for i in range(len(temperatures)):
while len(stack)!=0 and temperatures[i]>temperatures[stack[-1]]:
answer[stack[-1]]=i-stack[-1]
stack.pop()
stack.append(i)
return answer
496.下一个更大元素 I
class Solution:
def nextGreaterElement(self, nums1: List[int], nums2: List[int]) -> List[int]:
stack=[]
ans=[-1]*len(nums1)
for i in range(len(nums2)):
while len(stack)>0 and nums2[i]>nums2[stack[-1]]:
if nums2[stack[-1]] in nums1:
index = nums1.index(nums2[stack[-1]])
ans[index]=nums2[i]
stack.pop()
stack.append(i)
return ans
503.下一个更大元素II
503. 下一个更大元素 II - 力扣(LeetCode)
class Solution:
def nextGreaterElements(self, nums: List[int]) -> List[int]:
dp=[-1]*len(nums)
stack=[]
for i in range(len(nums)*2):
while len(stack)!=0 and nums[i%len(nums)]>nums[stack[-1]]:
dp[stack[-1]]=nums[i%len(nums)]
stack.pop()
stack.append(i%len(nums))
return dp
1169

被折叠的 条评论
为什么被折叠?



