当前位置: 首页 > news >正文

中山东莞网站推广网站网站模板

中山东莞网站推广,网站网站模板,dede网站地图html文件,天津网站优化实战目录 503.下一个更大元素II思路代码 42. 接雨水思路一 双指针思路二 单调栈代码 84.柱状图中最大的矩形思路一 双指针思路二 单调栈代码 503.下一个更大元素II Leetcode 思路 将数组乘2来遍历即可#xff0c;就是加长版的每日温度。 但是处理起来会有细节#xff0c;如果… 目录 503.下一个更大元素II思路代码 42. 接雨水思路一 双指针思路二 单调栈代码 84.柱状图中最大的矩形思路一 双指针思路二 单调栈代码 503.下一个更大元素II Leetcode 思路 将数组乘2来遍历即可就是加长版的每日温度。 但是处理起来会有细节如果只是单纯数组乘二最后返回的时候还需要返回数组的一半大小空间上不是很划算。 其实不需要扩大数组只需要在遍历的时候遍历长度为2*len(nums), 然后nums[i % len(nums)]即可。 代码 数组乘2 class Solution:def nextGreaterElements(self, nums: List[int]) - List[int]:nums nums numsres [-1] * len(nums)stack [0]for i in range(1, len(nums)):if nums[i] nums[stack[-1]]:stack.append(i)else:while stack and nums[i] nums[stack[-1]]:res[stack[-1]] nums[i]stack.pop()stack.append(i)return res[:len(nums)//2]遍历长度为2*len(nums) 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 dp42. 接雨水 Leetcode 思路一 双指针 对于每一个柱子用两个list分别存放左边最高的柱子和右边最高的柱子。 列4 左侧最高的柱子是列3高度为2以下用lHeight表示。 列4 右侧最高的柱子是列7高度为3以下用rHeight表示。 列4 柱子的高度为1以下用height表示 那么列4的雨水高度为 列3和列7的高度最小值减列4高度即 min(lHeight, rHeight) - height。 在有了rHeight和lHeight的情况下遍历所以的柱子求出雨水体积即可。 思路二 单调栈 单调栈按照行方向来计算雨水体积 代码 双指针 class Solution:def trap(self, height: List[int]) - int:lHeight, rHeight [0] * len(height), [0] * len(height)lHeight[0] height[0]for i in range(1, len(lHeight)):# 计算左边最高柱子的时候连自己也包括lHeight[i] max(lHeight[i - 1], height[i])rHeight[-1] height[-1]for i in range(len(rHeight) - 2, -1, -1):rHeight[i] max(rHeight[i 1], height[i])res 0for i in range(len(height)):res (min(rHeight[i], lHeight[i]) - height[i])return res单调栈 class Solution:def trap(self, height: List[int]) - int:stack [0]result 0for i in range(1, len(height)):while stack and height[i] height[stack[-1]]:mid_height stack.pop()if stack:# 雨水高度是 min(凹槽左侧高度, 凹槽右侧高度) - 凹槽底部高度h min(height[stack[-1]], height[i]) - height[mid_height]# 雨水宽度是 凹槽右侧的下标 - 凹槽左侧的下标 - 1w i - stack[-1] - 1# 累计总雨水体积result h * wstack.append(i)return result84.柱状图中最大的矩形 Leetcode 思路一 双指针 对于每一个柱子用两个list分别存放左边第一个小于该柱子的下标和右边第一个小于该柱子的下标。 在有两个list的基础上遍历heights, res heights[i] * (minRightIndex[i] - minLeftIndex[i] - 1) 思路二 单调栈 思路来源neetcode 代码 单调栈 class Solution:def largestRectangleArea(self, heights: List[int]) - int:maxArea 0stack []for i, h in enumerate(heights):start iwhile stack and stack[-1][1] h:index, height stack.pop()maxArea max(maxArea, height * (i - index))start indexstack.append([start, h])for i, h in stack:maxArea max(maxArea, h * (len(heights) - i))return maxArea
http://www.hkea.cn/news/14325992/

相关文章:

  • 飞言情做最好的小说网站网站开发会遇到的问题
  • 江西省城乡和住房建设厅网站市场营销案例100例及答案
  • 云主机怎么安装网站跟做网站的人谈什么
  • 做姓氏图的网站小软件下载网站
  • 室内装饰设计效果图网站seo基础
  • 外贸在哪些网站开发客户wordpress 环保公益主题
  • .net网站方案一个购物网站开发语言
  • 网站制作框架营销型网站试运营调忧
  • 做个网站费用多少服装公司介绍模板
  • 自己做的网站背景怎么设置精准营销包括哪几个方面
  • 一个外贸网站要多大的空间比较好网站标题用什么隔开
  • 佛山市企业网站建设报价wordpress后台插件
  • 合肥企业网站建设专家郑州鹏之信网络科技有限公司
  • 网站突然打不开中山企业网站推广
  • 网站做微信支付功能中山精品网站建设精英
  • 企业网站案列网站建设中建站广告html单页面
  • 庆阳市建设局网站黑龙江省农业网站建设情况
  • 广州有哪些网站建设怎样加入58同城平台服务行业
  • 建设网站所有步骤wed网站开发是什么
  • 网站建设投标书报价表ie 插件 wordpress
  • 建设网站 宣传平台腾讯云网站建设教程
  • 网站留言板制作清空wordpress数据库
  • 网站开发及app开发都需要多少钱公众号小程序商城怎么制作
  • 南京网站优化建站网页免费版
  • 外贸网站推广和建站优秀网站介绍
  • 网站开发网站设计制作wordpress弹窗订阅
  • 推进网站 集约化建设创业水务公司网站
  • 手机网站设计制作服务企业信息系统包括
  • 如何创建网站制作平台西宁做网站的网络公司
  • 阿里巴巴国际贸易网站推广工具站群网站建设