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

郴州买房网站浙江公司网站建设制作

郴州买房网站,浙江公司网站建设制作,erp是什么办公软件,公众号小程序制作平台LeetCode 42. 接雨水 题目描述 给定一个非负整数数组 height 表示柱状图中每个柱子的高度#xff0c;请你计算按此排列的柱状图能接多少雨水。 示例 1#xff1a; 输入#xff1a;height [0,1,0,2,1,0,1,3,2,1,2,1] 输出#xff1a;6 解释#xff1a;上面的柱状图可以…LeetCode 42. 接雨水 题目描述 给定一个非负整数数组 height 表示柱状图中每个柱子的高度请你计算按此排列的柱状图能接多少雨水。 示例 1 输入height [0,1,0,2,1,0,1,3,2,1,2,1] 输出6 解释上面的柱状图可以通过 6 个单位的雨水。示例 2 输入height [4,2,0,3,2,5] 输出9提示 0 height.length 10^40 height[i] 10^5 Java 实现解法 方法一动态规划 class Solution {public int trap(int[] height) {if (height null || height.length 0) {return 0;}int n height.length;int[] leftMax new int[n];int[] rightMax new int[n];leftMax[0] height[0];for (int i 1; i n; i) {leftMax[i] Math.max(leftMax[i - 1], height[i]);}rightMax[n - 1] height[n - 1];for (int i n - 2; i 0; i--) {rightMax[i] Math.max(rightMax[i 1], height[i]);}int water 0;for (int i 0; i n; i) {water Math.min(leftMax[i], rightMax[i]) - height[i];}return water;} }解题思路 动态规划这个问题可以通过两次遍历数组来解决。首先我们从左到右遍历数组记录每个位置左侧最高的柱子高度。然后从右到左遍历数组记录每个位置右侧最高的柱子高度。计算雨水量对于数组中的每个柱子能接到的雨水量取决于其左右两侧最高的柱子高度中的较小值减去该柱子的高度。这样每个柱子能接到的雨水量就是 min(leftMax[i], rightMax[i]) - height[i]。累加雨水量遍历整个数组将每个柱子能接到的雨水量累加起来就得到了总的雨水量。 这种方法的时间复杂度是 O(n)其中 n 是数组 height 的长度因为我们对数组进行了三次遍历。空间复杂度是 O(n)因为我们使用了两个额外的数组 leftMax 和 rightMax 来存储左右两侧的最高柱子高度。 方法二双指针 class Solution {public int trap(int[] height) {int n height.length;int left 0, right n - 1;int leftMax 0, rightMax 0;int water 0;while (left right) {if (height[left] height[right]) {if (height[left] leftMax) {leftMax height[left];} else {water leftMax - height[left];}left;} else {if (height[right] rightMax) {rightMax height[right];} else {water rightMax - height[right];}right--;}}return water;} }解题思路 双指针我们使用两个指针 left 和 right 分别从数组的两端开始向中间移动。维护最大高度同时维护两个变量 leftMax 和 rightMax 来记录 left 和 right 指针左侧和右侧的最大高度。计算雨水量当 height[left] height[right] 时我们移动 left 指针并更新 leftMax。如果 height[left] 小于 leftMax则这部分可以接到雨水雨水量为 leftMax - height[left]。类似地当 height[left] height[right] 时我们移动 right 指针并更新 rightMax计算雨水量。累加雨水量将每次计算得到的雨水量累加起来得到总的雨水量。 这种方法的时间复杂度是 O(n)其中 n 是数组 height 的长度因为我们只遍历了数组一次。空间复杂度是 O(1)因为我们只使用了常数个额外的变量没有使用额外的空间。 注来源leetcode网站
http://www.w-s-a.com/news/448529/

相关文章:

  • 做电器推广的网站简洁大方的网站模板
  • 网站开发的平台100个详情页设计图
  • wordpress淘宝客建站教程视频知名的设计公司网站
  • 批量做单页网站怎么直接用代码做网站
  • 百度收录较好的网站办公室装修设计方案
  • 建设购物网站要求cnzz数据统计
  • 深圳自适应网站建设价格广东网站建设软件
  • 网页设计介绍北京网站自己做彩票网站
  • 最牛论坛网站app生成链接
  • 用jsp做的网站源代码网站优化说明
  • 网站建设公司名字甘肃省和住房建设厅网站
  • 做外贸网站需要什么卡网站建设公司怎样
  • 网站关键词密度怎么计算的中文版wordpress
  • asp网站建设教程如何在线上推广自己的产品
  • 电脑网站你懂我意思正能量济南网站建设公司熊掌号
  • 杂志社网站建设萧山区网站建设
  • 电商网站前端制作分工网站怎做百度代码统计
  • 免费的html大作业网站网站开发心得500字
  • 临时工找工作网站做美缝帮别人做非法网站
  • 深圳网站建设 设计创公司新昌网站开发
  • 唐山教育平台网站建设上海装修网官网
  • 一个公司做多个网站什么行业愿意做网站
  • 成都龙泉建设网站免费域名app官方下载
  • xss网站怎么搭建如何用wordpress站群
  • 怎样做网站外链supercell账号注册网站
  • 阿里巴巴网站是用什么技术做的哪些网站做推广比较好
  • 做网站go和python手机如何创网站
  • 网站开发进修网站做301将重定向到新域名
  • 公司网站开发费用账务处理ucenter wordpress
  • 六站合一的优势少儿编程机构