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

做玻璃钢的企业网站厦门网站开发公

做玻璃钢的企业网站,厦门网站开发公,导航网站制作 zhihu,重庆会计之家是谁做的网站42. 接雨水 题目: 给定 n 个非负整数表示每个宽度为 1 的柱子的高度图,计算按此排列的柱子,下雨之后能接多少雨水。 示例 1: 输入:height [0,1,0,2,1,0,1,3,2,1,2,1] 输出:6 解释:上面是由数组…

42. 接雨水


题目:

给定 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

提示:

  • n == height.length
  • 1 <= n <= 2 * 10^{4}
  • 0 <= height[i] <= 10^{5}

思路:

首先,获取数组长度。

其次,获取每一个点的左侧和右侧的最大高度。

最后,找到每一个点左侧和右侧最大高度较小的那个(因为只有较小的那个高度才能限制雨水容量)。将这个减去该位置的高度,即可得到该位置的雨水单位数,将其累加到最终结果中。


代码:

class Solution {
public:int trap(vector<int>& height) {int n = height.size();if (n == 0) {return 0;}vector<int> leftMax(n);leftMax[0] = height[0];for (int i = 1; i < n; ++i) {leftMax[i] = max(leftMax[i - 1], height[i]);//cout << leftMax[i] << '|';}//cout << endl;vector<int> rightMax(n);rightMax[n - 1] = height[n - 1];for (int i = n - 2; i >= 0; --i) {rightMax[i] = max(rightMax[i + 1], height[i]);//cout << rightMax[i] << '|';}//cout << endl;int ans = 0;for (int i = 0; i < n; ++i) {ans += min(leftMax[i], rightMax[i]) - height[i];//cout << min(leftMax[i], rightMax[i]) - height[i] << '|';}return ans;}
};

 

http://www.yayakq.cn/news/981353/

相关文章:

  • 网站建设客户需求中山骏域网站建设
  • 网站 微信 app做电影网站用的云盘
  • 海外 酒店 网站建设微信企业官方网站怎么做
  • 做折扣的网站如何建立自己的公司网站
  • wap网站发布wordpress+小说+采集
  • 搭建网站分类工作室做网站流程
  • wordpress托管 根目录长沙做网站seo优化外包
  • 公司网站域名怎么取企业网站做app
  • 昭通微网站建设白云区是穷人区吗
  • asp网站部署长春企业做网站
  • wordpress如何建站呢网站开发会遇到的问题
  • google网站设计原则网络营销的常用策略
  • 中英文切换网站厦门建设局网站首页
  • 广州做网站建设哪家专业在线免费做网站
  • 公司网站百度搜索的描述怎么做如何做拉勾勾网站
  • 为什么要建设旅游网站wordpress备份content
  • 响应式网站开发的贵阳做网站
  • discuz论坛网站做的门户做一元云购网站
  • 专业企业网站建设公司价格学历提升培训机构
  • 深圳网站开发建设专业深圳网站建设公司
  • 智能建站cms管理系统2345网址导航和ie浏览器一样吗?
  • 重庆购务网站建设个人网站子域名设置
  • 网站虚拟主机免备案wordpress主题报错
  • 做网站什么需要好中国十大网络营销平台
  • 网站页面设计知识郑州做小程序的公司
  • 自己怎么1做网站重庆航运建设发展有限公司网站
  • 深圳企业网站建设设计直播网站开发需要多少钱
  • 北京商城网站建设费用厚街网站建设价格
  • 安平网站建设找盛千外贸建站有什么用
  • 嘉兴外贸网站建迈网科技 官方网站