笔试刷题 | 积水问题(Python)

这篇博客探讨了一道笔试题目,涉及积水问题的解决。通过给定一个表示墙高度的整数数组,例如(2、5、1、2、3、4、7、2),计算在雨水充足的情况下,挡板之间能容纳的水量。示例中,数组对应的图形在下雨后共装满了10个单位的水。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

问题描述:在下图里我们有不同高度的挡板。这个图片由一个整数数组所代表,数组中每个数是墙的高度。下图可以表示为数组(2、5、1、2、3、4、7、2)。假如开始下雨了,那么挡板之间的水坑能够装多少水(水足够多)呢?

 

下图是装满水的情况,一个蓝色格子代表一个单位的水。下图中一共装了10个单位的水。

#! /usr/bin/env python
# -*-coding:utf-8-*-
"""
Author: ChileWang
Created at 2020/03/20 15:59


Question:
给定一个一维数组,每个元素表示一个海拔高度。下雨之后低洼的地方会积水。假设雨水足够,能填满所有的低洼地方,计算下雨后所有低洼地段的总蓄水量。
例如给定数组2、5、1、2、3、4、7、2,下雨后,各个地方算上雨水会被填充为2、5、5、5、5、5、7、2,一共填充了10个单位的雨水。


Solution:


积水面积 = 砖 + 水 - 砖的面积
砖 + 水的递归处理&#x
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值