Trapping Rain Water

感觉和

Container With Most Water

 很像,这里有个问题,如果让球最大的坑,怎么做呢?

还有candy那道题,好像都是这种双扫系列的

ref http://fisherlei.blogspot.com/2013/01/leetcode-trapping-rain-water.html 双扫

public class Solution {
    public int trap(int[] A) {
        if(A==null || A.length<3) return 0;
        int res=0, curV = 0, max=A[0];
        int[] mL = new int[A.length];
        int[] mR = new int[A.length];
        
        for(int i=1; i<A.length-1; i++){
            mL[i] = max;
            max = Math.max(A[i],max);
        }
        max = A[A.length-1];
        for(int j=A.length-2; j>=0; j--){
            mR[j] =max;
            max = Math.max(A[j], max);
            curV = Math.min(mL[j], mR[j])-A[j];
            if(curV>0) 
                res += curV;
        }
        
        return res;
    }
}

 

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。