给定一个整形数组arr,已知其中所有的值都是非负的,将这个数组看作一个容器,请返回容器能装多少水

容器盛水问题

http://www.nowcoder.com/questionTerminal/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 count = 0L;
        //定义起始的左边界
        int from = 0;
        //定义一个起始的右边界
        int to = arr.length - 1;
        while(from < to){
            //找到最小的边界
            int min = Math.min(arr[from], arr[to]);
            //如果左边界最小则从左向右移动,并且计算容量
            while(from < to && arr[from] <= min){
                count += min - arr[from];
                from ++;
            }
            //如果右边界最小则从右向左移动,并且计算容量
            while(from < to && arr[to] <= min){
                count += min - arr[to];
                to --;
            }
        }

        return count;
    }
}
全部评论

相关推荐

03-12 09:57
软件测试
程序员小白条:1)确定测试,测开的方向,技术栈不能写这么少 2)课程凑数的,不是99,100分没必要写 3)实习经历这块要有突出的不是劳动性质的亮点,自己设计的什么方案,什么自动化?什么提效工具?不是一些边角料,人云亦云的东西,没吸引力 4) 校园经历纯没用 5)尽量少写减分项
听劝,我这个简历该怎么改...
点赞 评论 收藏
分享
评论
11
收藏
分享

创作者周榜

更多
正在热议
更多
# AI面会问哪些问题? #
24273次浏览 477人参与
# 中国电信笔试 #
30906次浏览 283人参与
# 开放七大实习专项,百度暑期实习值得冲吗 #
13974次浏览 208人参与
# 你的实习产出是真实的还是包装的? #
18515次浏览 329人参与
# 如果秋招能重来,我会____ #
96446次浏览 499人参与
# 春招至今,你的战绩如何? #
59119次浏览 535人参与
# 米连集团26产品管培生项目 #
12905次浏览 285人参与
# i人适合做什么工作 #
36645次浏览 123人参与
# 我是面试官,请用一句话让我破防 #
79291次浏览 219人参与
# 哪些公司真双非友好? #
69118次浏览 287人参与
# 找AI工作可以去哪些公司? #
7456次浏览 177人参与
# 从事AI岗需要掌握哪些技术栈? #
7444次浏览 234人参与
# 五一之后,实习真的很难找吗? #
102790次浏览 584人参与
# 投递几十家公司,到现在0offer,大家都一样吗 #
339699次浏览 2163人参与
# 你做过最难的笔试是哪家公司 #
29459次浏览 179人参与
# 你小时候最想从事什么职业 #
159824次浏览 2072人参与
# 阿里笔试 #
175926次浏览 1299人参与
# 金三银四,你的春招进行到哪个阶段了? #
21389次浏览 274人参与
# 一张图晒出你司的标语 #
3777次浏览 71人参与
# 面试被问期望薪资时该如何回答 #
382422次浏览 2163人参与
# 晶盛机电求职进展汇总 #
35209次浏览 318人参与
# 应届生第一份工资要多少合适 #
20439次浏览 84人参与
牛客网
牛客网在线编程
牛客网题解
牛客企业服务