package Week1_DP;
public class trapping_rain_water {
/**
* @param args
*/
public static void main(String[] args) {
int[] arr={4,1,2,0,3,3};
int s=method(arr);
System.out.println(s);
}
static int method(int[] arr){
int n=arr.length;
int[] num=new int[arr.length];
int leftmax=arr[0];
int rightmax=arr[arr.length-1];
int max=0;
for(int i=1;i<arr.length-1;i++){
for(int j=0;j<i;j++){
if(i==1){
leftmax=arr[j];
}else{
if(arr[j]>leftmax){
leftmax=arr[j];
}
}
}
for(int k=arr.length-1;k>i;k--){
if(i==arr.length-2){
rightmax=arr[k];
}else{
if(arr[k]>rightmax){
rightmax=arr[k];
}
}
}
max=Math.min(rightmax, leftmax);
if(max-arr[i]>0){
num[i]=max-arr[i];
}else{
num[i]=0;
}
}
int sum=0;
for(int i=0;i<n;i++){
sum=sum+num[i];
}
return sum;
}
}
trapping_rain_water
最新推荐文章于 2024-04-08 21:00:35 发布