class Solution:
def trap(self, height: List[int]) -> int:
maxl = []
maxr = []
if(len(height) == 0):
return 0
maxl.append(height[-1])
maxr.append(height[0])
for i in range(1, len(height), 1):
maxr.append(max(height[i], maxr[-1]))
for i in range(len(height) - 2, -1, -1):
maxl.append(max(height[i], maxl[-1]))
count = 0
maxl.reverse()
for i in range(len(height)):
count+= min(maxr[i], maxl[i]) - height[i]
return count
746C - Tram | 1278B - A and B |
1353D - Constructing the Array | 1269C - Long Beautiful Integer |
1076A - Minimizing the String | 913C - Party Lemonade |
1313A - Fast Food Restaurant | 681A - A Good Contest |
1585F - Non-equal Neighbours | 747A - Display Size |
285A - Slightly Decreasing Permutations | 515C - Drazil and Factorial |
1151E - Number of Components | 1151F - Sonya and Informatics |
556A - Case of the Zeros and Ones | 867A - Between the Offices |
1569A - Balanced Substring | 260A - Adding Digits |
1698C - 3SUM Closure | 1029B - Creating the Contest |
1421A - XORwice | 1029A - Many Equal Substrings |
1675D - Vertical Paths | 1271C - Shawarma Tent |
805A - Fake NP | 1163A - Eating Soup |
787A - The Monster | 807A - Is it rated |
1096A - Find Divisible | 1430C - Numbers on Whiteboard |