From 5ec677a7a07763418ceacf305a4bce930af375db Mon Sep 17 00:00:00 2001 From: Glazomer Date: Mon, 26 Oct 2020 18:51:26 +0300 Subject: [PATCH] Done in quickly :-D --- TrappingRainWater.py | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) create mode 100644 TrappingRainWater.py diff --git a/TrappingRainWater.py b/TrappingRainWater.py new file mode 100644 index 0000000..37af4af --- /dev/null +++ b/TrappingRainWater.py @@ -0,0 +1,24 @@ +class Solution: + def trap(self, h: List[int]) -> int: + res = passed = maxV = last = 0 + for i, v in enumerate(h): + if v > maxV: + res += passed + passed = 0 + last = i + maxV = v + else: + passed += maxV - v + + passed = maxV = 0 + for i, v in enumerate(h[::-1]): + if i >= len(h) - last: + break + elif v >= maxV: + res += passed + passed = 0 + maxV = v + else: + passed += maxV - v + + return res