美文网首页程序员
容器最大容水量

容器最大容水量

作者: 静水流深ylyang | 来源:发表于2018-11-27 23:02 被阅读0次

版权声明:本文为博主原创文章,转载请注明出处。
个人博客地址:https://yangyuanlin.club
欢迎来踩~~~~


  • container with most water

Given n non-negative integers a1 , a2 , ..., an , where each represents a point at coordinate (i, ai ). n vertical lines are drawn such that the two endpoints of line i is at (i, ai ) and (i, 0). Find two lines, which together with x-axis forms a container, such that the container contains the most water.

Note: You may not slant the container.

  • 題目大意:给定n个非负整数a1,a2,......,an,他们每一个分别表示坐标上的一个点(i,ai)。绘制n条垂直于 x 轴的直线,第 i 条垂线的两个端点的坐标分别是(i,ai)和(i,0)。找出两条线,这两条线和 x 轴组成一个容器,使得这个容器能盛最多的水。

  • 思路:假设n = 10,a[n] = {0,1,0,2,1,0,1,3,2,1},按照题目要求绘制下图,从图中可以看出,当这两条线分别垂直于起点和终点时,这时宽度最大,这时每移动一次其中一个点,必然宽度变小。如此一来,想求最大,只有高度增长才有可能做到,所以每次(1)两边往中间找,(2)每次放弃最短的版,这是因为,去掉限制----短板,即放弃高度较小的点,就有可能会获得更高的高度,从而得到更大的容积。


  • 代码:

#include<iostream>
#include<vector>
using namespace std;
int maxArea(vector<int> &height)
{
    int Max = 0,left = 0,right = height.size() - 1;
    while(left < right)
    {
        Max = max(Max, (right-left) * min(height[left], height[right]));
        height[left] < height[right] ? left++ : right--;
    }
    return Max;
}
int main()
{
    vector<int> height;
    for(int i = 0; i < 10; i++)
    {
        int h;
        cin >> h;
        height.push_back(h);
    }
    cout << maxArea(height) << endl;
    return 0;
}

运行结果:通过

  • 以上。

版权声明:本文为博主原创文章,转载请注明出处。
个人博客地址:https://yangyuanlin.club
欢迎来踩~~~~


相关文章

  • 容器最大容水量

    版权声明:本文为博主原创文章,转载请注明出处。个人博客地址:https://yangyuanlin.club 欢...

  • 11. Container With Most Water

    解析: 把数组下标作为横坐标点,该点上的高度即为数组该位置的数值。要求根据两点和其高度围成的容器的最大容水量(容水...

  • <算法篇> 计算不规则容器积水量

    问题:如何计算不规则容器积水量?这是一道 Twitter 算法面试题,题目很好理解,就是求蓝色格子的数量:未积水容...

  • LeetCode之蓄水量最大的容器(Container With

    问题描述:给定n个非负的整数 a1, a2, ..., an , 其中每一个代表坐标系 (i, ai)中的一个点....

  • 给水排水设计常见的术语

    1、最大时用水量:最高日最大用水时段内的小时用水量。 2、平均时用水量:最高日用水的段内的平均小时用水量。 3、自...

  • 给水排水设计常见的术语 - 草稿

    1、最大时用水量:最高日最大用水时段内的小时用水量。 2、平均时用水量:最高日用水的段内的平均小时用水量。 3、自...

  • 42. Trapping Rain Water

    解析: 还是最大容水量问题,这道题目是做完11题后,leetcode自己推荐给我的,以后准备就按照它的例题推荐来做...

  • swarm集群

    容器集群 swarm 容器生态包含三个部分 容器核心知识 架构、镜像、容器、网络、存储容器平台技术 容...

  • docker基本操作

    启动容器 交互式容器 查看容器 ``$ docker ps [-a] [-l]docker ps -a 查看所有容...

  • spring的父子容器及配置

    spring父子容器 spring总的上下文容器有父子之分,父容器和子容器。** 父容器对子容器可见,子容器对父容...

网友评论

    本文标题:容器最大容水量

    本文链接:https://www.haomeiwen.com/subject/kckoqqtx.html