Given n non-negative integers representing an elevation map where the width of each bar is 1, compute how much water it is able to trap after raining.
For example,
Given [0,1,0,2,1,0,1,3,2,1,2,1]
, return 6
.
The above elevation map is represented by array [0,1,0,2,1,0,1,3,2,1,2,1]. In this case, 6 units of rain water (blue section) are being trapped. Thanks Marcos for contributing this image!
====================================================================================================
我的答案
a = [0,1,0,2,1,0,1,3,2,1,2,1] b = [0,0,0,0,0,7,0,0,0,0,0,0] def trap(data_arr) total_trap = 0 data_arr.each_with_index do |item, index| left_edge, right_edge = item, item # find left bigest edge (0..(index - 1)).reverse_each do |left_index| left_item = data_arr[left_index] if left_item > left_edge left_edge = left_item end end # find right bigest edge ((index + 1)..(data_arr.length - 1)).each do |right_index| right_item = data_arr[right_index] if right_item > right_edge right_edge = right_item end end # this point traped water increment = left_edge >= right_edge ? right_edge - item : left_edge - item total_trap += increment end total_trap end p trap(a) == 6 p trap(b) == 0
相关推荐
c语言入门 C语言_leetcode题解之42-trapping-rain-water.c
js js_leetcode题解之42-trapping-rain-water.js
leetcode 不会3D 捕集雨水系统 该 repo 包含复杂 3D 雨水收集系统的解决方案,该系统在 Leetcode Problem No. 407 和 Google Interview Round 中提出。 此外,它将“0”视为系统的排水。 (查看自述文件以获得详细...
多线程 leetcode 前言 每天刷点leetcode,基于java语言实现。 leetcode上难度分三档:easy,medium,hard. 如下: easy medium Remove Nth Node From End of List Swap Nodes ...Trapping Rain Water
leetcode 1004 leetcode NEXT:42 Trapping Rain Water 刷题顺序 刷题内容总的来说包括数据结构、算法和技巧 按照tag分类别进行刷题,跳过like<200>like的题目 按Acceptance由高到低进行,每个tag所刷题目大于20...
记录一下再LeetCode上刷的题,坚持每天刷一道吧 2017.06.12 打卡[LeetCode 2. Add Two Numbers], Linked list 2017.06.13 打卡[LeetCode 200. Number of Islands], BFS 2017.06.14 打卡[LeetCode 3. Longest ...
# [LeetCode](https://leetcode.com/problemset/algorithms/) ![Language](https://img.shields.io/badge/language-Python%20%2F%20C++%2011-orange.svg) [![License]...
- **2.1.15 Trapping Rain Water** - 计算雨水能够困住的水量。 - 实现思路:使用动态规划方法,记录每条柱子左侧最高值和右侧最高值,然后计算水量。 - **2.1.16 Rotate Image** - 将一个正方形矩阵顺时针旋转...
- Trapping Rain Water: 给定一个数组,其中每个元素代表一个宽度为1的柱子高度,计算能接多少雨水。 - Multiply Strings: 给定两个非负整数字符串形式的数,要求进行乘法运算。 - Wildcard Matching: 实现支持'?'和...
记录找工作期间搬运的题,全部使用Java实现,本人C++鶸 1 双指针 编号 题目 LeetCode 11 Container With Most Water LeetCode 19 Remove Nth Node From End of List LeetCode 42 Trapping Rain Water LeetCode 61 ...
力码解决方案 Leetcode是一个网站,人们——...├── Trapping Rain Water │ ├── Readme.md │ └── solution.js ├── Wildcard Matching │ ├── Readme.md │ └── solution.js ├── Valid Number │
trapping-rain-water 滑动窗口 通过窗口的大小不断调整来找到合适的值,或者窗口大小不变,通过左右移动来找到相应的结果 \ \ 其他 非 LeetCode 题,单纯在别人面试中看到的 \ 链表 \ swap-nodes-in-pairs linked-...
接雨水](./Array/trapping-rain-water.md) [0048 旋转图像](./Array/rotate-image.md) Heap 堆 [0023 合并K个排序链表](./Heap/merge-k-sorted-lists.md) String 字符串 [0006 Z字形变换](./String/zigzag-...
在本压缩包中,我们关注的是一个Python编程相关的学习资源,特别针对LeetCode平台上的第42题“接雨水”(Trapping Rain Water)的面试题解。LeetCode是一个广泛被程序员用来提升算法技能和准备面试的在线平台,其中...
leetcode 答案 Algorithms 一、three sum 三数相加问题 问题描述 在一个由 number 组成的数组中,找到所有的 3 个数组成的数组,使得这三个数字的和等于给定的数字 解答 考虑到时间复杂度肯定大于等于 O(n²) 可以先...
接下来,我们转向LeetCode的第42题“接雨水”(Trapping Rain Water)。这是一道典型的二维数组问题,考察的是动态规划和双指针技巧。 题目描述:给定一个高度不一的数组代表地面,雨水会积累在低点。求能容纳的...
收集面试中提出的一些重要问题。 数据结构算法面试问题面试中提出的一些重要问题的集合。...数组https://leetcode.com/problems/3sum/ [解决方案] https://leetcode.com/problems/trapping-rain-water/ [解决方案] ...
leetcode 答案leetcode leetcode.com 问题的答案 跑步 python -m venv .venv source .venv/bin/activate pip install -r requirements.txt pytest <question>/tests.py ...lc42_trapping_rain_water/tests.py
我自己在新学erlang,在LeetCode OJ上找了题目练习,题目很适合新手... "three_sum.erl","trapping_rain_water.erl", "valid_palindrome.erl" 个人认为dungeon_game这个题目解题逻辑很体现erlang的函数式的思维逻辑
leetcode添加元素使和等于 经验教训 一定要吧功能尽量细化为函数,这样一者做题思路比较清晰,二者可以在某些情况下直接return值。 如果输入的形式是一个序列,则可以想想:分治、动规、贪婪,一般不建议搜索,因为...