def trap(self, height):"""My Method算法:左右指针思路:思路类似于407题,想象水从周围一点一点漫上去,涨起来~对某个位置i来说,其能容积多少水,取决于左右两侧的墙的高度重最小的那个高度而对整个容器来说,取决于整体两侧墙的最短的那个,所以设立左右指针left,right,哪侧墙矮就从哪侧来计算,left小就判断left和left+1的height,如果height[left] > height[left+1],那么就可以盛height[left]-height[left+1]这么多的水,并且要将height[left+1]更新为盛满水后的的高度,当然,如果height[left+1]本就大于等于height[left],自然就不用更新了,同理,对于右侧right部分也是做同样的计算,直至left >= right,因为left和right肯定要隔着1个,如果left == right,那left和right间就没有间隔了,就不该算了复杂度分析:时间:ON,遍历一次数组空间:O1,常数级"""if height == []:return 0left = 0right = len(height) - 1result = 0while left < right:if height[left] <= height[right]:result += max(0, height[left] - height[left + 1])height[left + 1] = max(height[left], height[left + 1])left = left + 1else:result += max(0, height[right] - height[right - 1])height[right - 1] = max(height[right], height[right - 1])right = right - 1return result

LeetCode 42 Hard 收集雨水I Python相关推荐

  1. leetcode 从房屋收集雨水需要的最少水桶数

    给你一个下标从 0 开始的字符串 street .street 中每个字符要么是表示房屋的 'H' ,要么是表示空位的 '.' . 你可以在 空位 放置水桶,从相邻的房屋收集雨水.位置在 i - 1  ...

  2. 领扣 LeetCode 42:接雨水(java)(网易有道面试真题)

    题目:链接 给定 n 个非负整数表示每个宽度为 1 的柱子的高度图,计算按此排列的柱子,下雨之后能接多少雨水. 上面是由数组 [0,1,0,2,1,0,1,3,2,1,2,1] 表示的高度图,在这种情 ...

  3. 【栈】python、单调栈解决收集雨水问题、力扣42题

    以下是leetcode 42原题: 给定 n 个非负整数表示每个宽度为 1 的柱子的高度图,计算按此排列的柱子,下雨之后能接多少雨水. 示例 1: 输入:height = [0,1,0,2,1,0,1 ...

  4. LeetCode 42 Trapping Rain Water 收集雨水

    LeetCode 42 Trapping Rain Water 收集雨水 Given n non-negative integers representing an elevation map whe ...

  5. Leetcode 407. Trapping Rain Water II 收集雨水2 解题报告

    1 解题思想 我看了下题目,发现比预想中的简单,加之我比较烂,所以其实我还是没做,只是看懂了上回贴的代码,然后做了一下注释,现在我来讲下题目. 首先请看下上一题,上一题是2D的这题是3D的: Leet ...

  6. LeetCode 42. Trapping Rain Water 【两种解法】(python排序遍历,C++ STL map存索引,时间复杂度O(nlogn))

    LeetCode 42. Trapping Rain Water Python解法 解题思路: 本思路需找到最高点左右遍历,时间复杂度O(nlogn),以下为向左遍历的过程. 将每一个点的高度和索引存 ...

  7. LeetCode 2086. 从房屋收集雨水需要的最少水桶数(贪心)

    文章目录 1. 题目 2. 解题 1. 题目 给你一个下标从 0 开始的字符串 street .street 中每个字符要么是表示房屋的 'H' ,要么是表示空位的 '.' . 你可以在 空位 放置水 ...

  8. 【Python】收集雨水问题:给定n个非负整数,表示直方图的方柱的高度,同时,每个方柱的宽度假定都为1。若使用这样形状的容器收集雨水,可以盛多少水量?

    收集雨水问题 给定n个非负整数,表示直方图的方柱的高度,同时,每个方柱的宽度假定都为1.若使用这样形状的容器收集雨水,可以盛多少水量? 如输入:0,1,0,2,1,0,1,3,2,1,2,1:返回6. ...

  9. LeetCode 2086. 从房屋收集雨水需要的最少水桶数 -- 动态规划

    从房屋收集雨水需要的最少水桶数 中等 26 相关企业 给你一个下标从 0 开始的字符串 street .street 中每个字符要么是表示房屋的 'H' ,要么是表示空位的 '.' . 你可以在 空位 ...

最新文章

  1. AI一分钟 | ​被大家吐槽的网红机器人索菲亚开微博了;阿里人工智能团队iDST获得道路场景分割三项第一
  2. 《自然》公布年度十大杰出论文
  3. android快速充电实现_用一个快充头实现苹果安卓同时快充,实在太赞了!
  4. win10便签常驻桌面_win7桌面便签小工具可以作为工作计划软件使用吗?
  5. phpstrom 里面的 文件修改后 的*怎样设置
  6. 斯坦福cs161算法考试的cheat sheet!!!十分重要!!!
  7. 基础功能-tensorflow使用gpu
  8. 吴恩达机器学习ex6:支持向量机
  9. VDI SolutionTrack - 上海站:11月20日
  10. LINUX查询版本情况
  11. 史陶比尔Staubli库卡kuka机器人切割加工首先电主轴德国sycotec
  12. QT QTableView(基于QStandardItemModel用法)操作详解
  13. matlab陷波带阻滤波器,matlab陷波滤波器 陷波滤波器器应放在系统的闭环吗
  14. 2022年美赛S奖得主的三次完赛经历
  15. 简单的加盐加密登录处理
  16. mysql五日均线_怎么设置五日均线?
  17. 基于STM32F103RCT6的二维码显示实验
  18. 《word2vec Parameter Learning Explained》论文学习笔记
  19. 实现一个Android输入法
  20. oracle返回当年的第一天,oracle 获取 当年第一天 当月第一天

热门文章

  1. 使用Jenkins生成 二维码
  2. 计算机安全:基于口令的认证
  3. Achshar Player:把Chrome浏览器当作本地音乐播放器使用
  4. 花了一年时间开发出来的EZNest 自动套料软件
  5. ISL1208-后备电池供电的低功率RTC SRAM
  6. 西北工业大学计算机网络安全,西北工业大学网络空间安全专业2022考研经验指导...
  7. “加里敦大学”开学咯~
  8. SD-WAN 系列 (4)MPLS 企业专线到底有多贵?
  9. 搭建MarkDown文档整理对外展示网站
  10. 思迈特软件Smartbi:企业报表软件助力企业数据化转型