1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
| class Solution: def trap(self, A: List[int]) -> int: N=len(A) L=[0]*N M=0 for i in range(N): M=max(M,A[i]) L[i]=M R=[0]*N M=0 for i in range(N-1,-1,-1): M=max(M,A[i]) R[i]=M ret=0 for i in range(1,len(A)): LM=L[i] RM=R[i] ret+=min(LM,RM)-A[i] return ret
|