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

免费建站模板网站谷歌平台推广外贸

免费建站模板网站,谷歌平台推广外贸,沈阳建网站公司,全flash网站欣赏题目 给定 n 个非负整数表示每个宽度为 1 的柱子的高度图,计算按此排列的柱子,下雨之后能接多少雨水。 示例 1: 输入:height [0,1,0,2,1,0,1,3,2,1,2,1] 输出:6 解释:由数组 [0,1,0,2,1,0,1,3,2,1,2,1] 表…

题目

给定 n 个非负整数表示每个宽度为 1 的柱子的高度图,计算按此排列的柱子,下雨之后能接多少雨水。
示例 1:
输入:height = [0,1,0,2,1,0,1,3,2,1,2,1]
输出:6
解释:由数组 [0,1,0,2,1,0,1,3,2,1,2,1] 表示的高度图,在这种情况下,可以接 6 个单位的雨水
示例 2:
输入:height = [4,2,0,3,2,5]
输出:9

答案

这个问题可以通过动态规划来解决。我们可以定义一个dp数组,dp[i]表示从第0个柱子到第i个柱子所能接到的最大雨水量。对于每个柱子,如果它比前一个柱子高,那么它上面的雨水量就是它自身的高度,否则就是0。因此,我们可以得到状态转移方程:

dp[i] = max(dp[i-1], height[i])

其中dp[i-1]表示不接第i个柱子上的雨水量,height[i]表示接第i个柱子上的雨水量。最后,dp数组中的最大值就是所能接到的最大雨水量。

以下是Python代码实现:

def trap(height):if not height:return 0n = len(height)dp = [0] * ndp[0] = height[0]left, right = 0, 0ans = 0while right < n:# 从左往右扫描while right < n and dp[right] < dp[left]:dp[right] += height[right]right += 1# 如果dp[left] < dp[right],则更新left为right的左边一个位置if dp[left] < dp[right]:left = right - 1# 更新最大雨水量ans = max(ans, dp[right])return ans

在这个代码中,我们使用了一个dp数组来存储每个位置所能接到的最大雨水量。left和right分别表示扫描的左右边界,ans表示目前为止所能接到的最大雨水量。在每个位置,如果dp[left] < dp[right],则说明我们可以将雨水接到右边的柱子上,因此需要更新left为right的左边一个位置。最后,返回ans即可。

http://www.hengruixuexiao.com/news/56698.html

相关文章:

  • wordpress是什么东西站长工具 seo查询
  • 寿光网站建设公司百度网
  • 石首seo排名网络优化大师
  • 东莞网络营销价格咨询草根seo视频大全
  • 自豪的使用wordpress找不到代码seo综合查询平台
  • 郑州建网站产品营销推广策略
  • 外贸可以什么网站做优化师是一份怎样的工作
  • 哪些网站上可以做租车站长查询工具
  • 做网站怎么跑业务怎么做seo信息优化
  • 互联网招聘网站排名最佳磁力吧ciliba
  • 贸易公司网站案例如何建一个自己的网站
  • 轻量级数据库wordpress关键词优化是怎么弄的
  • 订阅号可以做网站吗宁波优化seo是什么
  • 360网站建设企业竞价托管一般多少钱
  • 淄博张店网站建设怎样上百度做广告
  • 公司网站是怎么样的如何建立自己的网站平台
  • 站酷海报设计图片公众号推广渠道
  • 微能力者恶魔网站谁做的网站seo优化网站
  • 建筑网站建设赏析企业站seo外包
  • 网站设计 评价 方法南宁网站seo外包
  • wordpress伪静态怎么弄淘宝seo搜索排名优化
  • 网站建设需要度搜去自己建个网站要多少钱
  • 微信公众号人工咨询电话优化好搜移动端关键词快速排名
  • 公司制作网站怎么做的优化游戏的软件
  • 大陆人去香港做义工网站河源今日头条新闻最新
  • 跨境电商平台b2b代表有哪些天津seo渠道代理
  • 做网站v1认证需要付费吗上海网站建设
  • 数据库 搭建 网站衡阳百度seo
  • 南京制作网页学校关键词seo排名怎么样
  • 微信辅助做任务网站网上销售有哪些方法