题解 | #接雨水问题#

接雨水问题

http://www.nowcoder.com/practice/31c1aed01b394f0b8b7734de0324e00f

import java.util.*;


public class Solution {
    /**
     * max water
     * @param arr int整型一维数组 the array
     * @return long长整型
     */
    public long maxWater (int[] arr) {
        // write code here
        long val = 0;
        if(arr.length<=2) return val;
        int left = 0;
        int right = 1;
        while(right<arr.length){
            if(arr[left]<=arr[right]){
                for(int j = left+1;j<right;j++){
                    val += arr[left] - arr[j];
                }
                left = right;
            }
            right++;
        }
        if(left==arr.length-1) return val;
        right = arr.length-1;
        left = arr.length-2;
        while(left>=0){
            if(arr[right]<=arr[left]){
                for(int j = left+1;j<right;j++){
                    val += arr[right] - arr[j];
                }
                right = left;
            }
            left--;
        }

        return val;
    }
}
全部评论

相关推荐

机械打工仔:我来告诉你原因,是因为sobb有在线简历,有些HR为了快会直接先看在线简历,初步感觉不合适就不会找你要详细的了
投了多少份简历才上岸
点赞 评论 收藏
分享
05-22 12:44
已编辑
门头沟学院 golang
点赞 评论 收藏
分享
ohs的小木屋:比不少实习待遇高了
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务