青岛建设工程信息网站,青岛 生物类网站建设,广西桂川建设集团网站,公司简介模板免费文字版503.下一个更大元素II  
代码随想录   初步思路#xff1a;拼接两个一摸一样的数组#xff0c;再使用单调栈的方法 
总结#xff1a;更高效的方法是在遍历的过程中模拟走了两边数组 dp  [-1] * len(nums)stack  []for i in range(len(nums)*2):while(len(stack) ! 0 and num… 503.下一个更大元素II  
代码随想录   初步思路拼接两个一摸一样的数组再使用单调栈的方法 
总结更高效的方法是在遍历的过程中模拟走了两边数组 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  用时30分钟 42. 接雨水   
代码随想录   初步思路暴力解法 
总结稍微高效一点的方法是使用双指针 leftheight, rightheight  [0]*len(height), [0]*len(height)leftheight[0]height[0]for i in range(1,len(height)):leftheight[i]max(leftheight[i-1],height[i])rightheight[-1]height[-1]for i in range(len(height)-2,-1,-1):rightheight[i]max(rightheight[i1],height[i])result  0for i in range(0,len(height)):summ  min(leftheight[i],rightheight[i])-height[i]result  summreturn result 单调栈的解法一时还掌握不了留着以后再学习。 
用时60分钟