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

商城网站建设招聘莆田seo推广公司

商城网站建设招聘,莆田seo推广公司,网站改版301是什么,酒店分销平台有哪些题目要求 给定 n 个非负整数表示每个宽度为 1 的柱子的高度图,计算按此排列的柱子,下雨之后能接多少雨水。 要求给出一列柱子,求该柱子能盛放多少雨水 解题思路: 这些柱子围城了一个“盆地”,雨水会积攒在低洼处&…

题目要求

        给定 n 个非负整数表示每个宽度为 1 的柱子的高度图,计算按此排列的柱子,下雨之后能接多少雨水。

        要求给出一列柱子,求该柱子能盛放多少雨水

解题思路:

        这些柱子围城了一个“盆地”,雨水会积攒在低洼处,我们要计算“盆地”能装多少水

        关键点:每个位置能接的雨水量,取决于它左右两边最高的柱子中较矮的那个(木桶效应)。

解题步骤分解

  1. 找到最高的柱子:
  • 这个柱子把整个区域分成左右两部分
    • 左边的水位由左边最高的柱子决定(从左到右遍历到的)
    • 右边的水位由右边最高的柱子决定(从右到左遍历到的)
  1. 计算左侧雨水:
    • 从左往右扫描,记录遇到的最高柱子
    • 当前水位就是这个最高柱子的高度
    • 每个柱子的积水量 = 当前水位 - 柱子高度
  1. 计算右侧雨水:
  • 从右往左扫描,记录遇到的最高柱子
    • 当前水位就是这个最高柱子的高度
    • 每个柱子的积水量 = 当前水位 - 柱子高度
  1. 汇总结果:
  • 把左边和右边的积水量加起来就是总雨水量

 

其实可以辅助图理解

关键就是我们只需要关注左/右侧最高柱子,因为它是木桶效应中的短板,决定能装多少水

假设这个是最高柱子的左侧,现在我们从1-6开始遍历

        1:高度为1,更新左边最高的柱子高度为1,并且计算累计雨水+=(最高柱子-当前柱子高度=0)

        2:高度为0,累计雨水+=(最高柱子-当前柱子高度=1)

        3:高度为2,更新左边最高柱子高度为1,累计雨水+0

        4:高度为1,累计雨水+=(最高柱子2-当前柱子高度1=1)

。。。。

右边也是同理的

java代码实现

class Solution {public int trap(int[] height) {// 1. 首先找到最高的柱子int maxHeight = 0;      // 记录最高柱子的高度int maxPos = -1;        // 记录最高柱子的位置int len = height.length; // 数组长度// 遍历数组,找出最高的柱子及其位置for(int i = 0; i < len; i++) {if(height[i] > maxHeight) {maxHeight = height[i]; // 更新最高高度maxPos = i;           // 更新最高柱子的位置}}// 如果所有柱子高度都为0,接不到雨水if(maxHeight == 0) {return 0;}int sum = 0;            // 总雨水量int waterHeight = 0;    // 当前水位高度// 2. 计算最高柱子左侧的雨水量// 从左往右遍历,水位由左侧最高柱子决定for(int i = 0; i < maxPos; i++) {// 如果当前柱子比之前的水位高,更新水位if(height[i] > waterHeight) {waterHeight = height[i];}// 当前柱子上方的雨水量 = 当前水位 - 当前柱子高度sum += waterHeight - height[i];}// 3. 计算最高柱子右侧的雨水量waterHeight = 0; // 重置水位// 从右往左遍历,水位由右侧最高柱子决定for(int i = len - 1; i > maxPos; i--) {// 如果当前柱子比之前的水位高,更新水位if(height[i] > waterHeight) {waterHeight = height[i];}// 当前柱子上方的雨水量 = 当前水位 - 当前柱子高度sum += waterHeight - height[i];}return sum; // 返回总雨水量}
}

http://www.dtcms.com/wzjs/440168.html

相关文章:

  • 石家庄新闻频道seo 优化技术难度大吗
  • 网站字体效果中国企业网络营销现状
  • 旅游商城网站模板免费下载中国疫情最新数据
  • 微信免费做邀请函模版网站网游百度搜索风云榜
  • 响应式网站技术电商网站首页
  • 网站空间 数据库百度seo培训
  • 网站规划说明书焊工培训内容
  • 做暧暧xoxo网站最新国际新闻50条简短
  • 温州做网站建设多少钱关键词优化师
  • 河北省城乡住房和建设厅网站seo软件代理
  • 个人网站构建销售渠道都有哪些
  • 浙江沉船事故最新消息沈阳网站推广优化
  • 个人简历生成器关键词优化工具
  • 独特网站的产品运营方案
  • 常州网站建设 最易绍兴seo排名公司
  • 网站建设成功案例怎么写系统优化大师官方下载
  • 网站被管理员权限建站是什么意思
  • 任务网站开发推广普通话的重要意义
  • 给公司做网站 优帮云如何做seo
  • 信宜网站建设公司郑州网站优化seo
  • 介绍自己的网页设计作品百度seo快速排名优化服务
  • 网站建设需要的人员客户营销
  • 建设彩票网站犯法吗seo排名点击软件
  • 什么网站ppt做的好怎么做起泡胶
  • 成都分想设计公司网站图片扫一扫在线识别照片
  • 网站建设推广保举火13星免费制作自己的网页
  • 揭阳专业做网站凡科建站下载
  • 建设网站过程网站友情链接
  • 免费主题网站搜索引擎入口yandex
  • 上海专业网站建设平台网络营销方案范文