Files
exams/algorithms/labs/lab6/leetcode/3/solution.py
2025-10-01 22:55:09 +03:00

21 lines
545 B
Python

from typing import List
class Solution:
def trap(self, height: List[int]) -> int:
n = len(height)
if n == 0:
return 0
left = [0] * n
right = [0] * n
left[0] = height[0]
for i in range(1, n):
left[i] = max(left[i - 1], height[i])
right[-1] = height[-1]
for i in range(n - 2, -1, -1):
right[i] = max(right[i + 1], height[i])
ans = 0
for i in range(n):
ans += min(left[i], right[i]) - height[i]
return ans