class Solution { public: int trap(int A[], int n) { int last = 0; int totalWater = 0; for (int i = 1; i < n; ++i) { if(A[i] >= A[last]) { int water = 0; for(int j = last +1; j < i; ++j) { water += A[last] - A[j]; } totalWater += water; last = i; } } //reverse int rlast = n - 1; for(int i = n - 2; i >= last; --i) { if(A[i] >= A[rlast]) { int water = 0; for(int j = rlast - 1; j > i; --j) { water += A[rlast] - A[j]; } totalWater += water; rlast = i; } } return totalWater; } };
No comments:
Post a Comment