题解 | #接雨水问题#

接雨水问题

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



public class Solution {
    /**
     * max water
     * @param arr int整型一维数组 the array
     * @return long长整型
     */
    public long maxWater (int[] arr) {
        // write code here
        if (arr == null || arr.length < 3) {
            return 0;
        }
        int left = 0;
        int right = arr.length - 1;
        int maxL = 0;
        int maxR = 0;
        int res = 0;
        while (left <= right) {
            if (maxL <= maxR) {
                if (maxL > arr[left]) {
                    res += (maxL - arr[left]);
                } else {
                    maxL = arr[left];
                }
                left++;
            } else {
                if (maxR > arr[right]) {
                    res += (maxR - arr[right]);
                } else {
                    maxR = arr[right];
                }
                right--;
            }
        }
        return res;
    }
}
全部评论

相关推荐

点赞 评论 收藏
分享
風に薫る:前阵子把一个面试时老托腮抖腿的挂了 太松弛真不行
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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