2018-12-20

雨水收集:
思路每一列的水量就是他左右最高高度的较小值减去自己的高度

public int trap(int[] height) {
        int res = 0, l = 0, r = height.length - 1;
        while (l < r) {
            int mn = Math.min(height[l], height[r]);
            if (height[l] == mn) {
                ++l;
                while (l < r && height[l] < mn) {
                    res += mn - height[l++];
                }
            } else {
                --r;
                while (l < r && height[r] < mn) {
                    res += mn - height[r--];
                }
            }
        }
        return res;
    }
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 二重循环 一、 回顾 [图片上传失败...(image-4bbbcd-1545272679904)] 二、 训练 ...
    拾起_518阅读 2,701评论 0 0
  • 嗯哼君呀阅读 3,089评论 3 1
  • 写作就像是高山上的寺庙,你只有经过了蜿蜒曲折的山道,攀越了怪石林立的山崖,才会最终取得那藏匿在寺庙中的真经。 在中...
    墨小凝阅读 2,875评论 4 3
  • 为什么要做客情维护? 做好客情维护可以提高客户的信任跟满意度;为二次销售,赢取机会,获得一个新客户的成本,是维护一...
    成晓阅读 12,791评论 0 6
  • 文|安于悦读 稍缓节奏后,发现宝宝需要关注的地方有很多,正好前两天赶上给宝宝打疫苗。 这个妈妈心有点大,平时做不到...
    子茉007阅读 4,398评论 5 6