zoukankan      html  css  js  c++  java
  • leetcode 138:container-with-most-water

    题目描述

    给定n个非负整数a1,a2,…,an,其中每个数字表示坐标(i, ai)处的一个点。以(i,ai)和(i,0)(i=1,2,3...n)为端点画出n条直线。你可以从中选择两条线与x轴一起构成一个容器,最大的容器能装多少水?
    注意:你不能倾斜容器
    例如:
    输入 [1,8,6,2,5,4,8,3,7]
    输出: 49
    题目分析:
    容器中水的容量等于容器左壁与右壁之间的距离与左壁右壁之间高度最小的值之间的乘积。这题最关键的是两点:一是两边往中间找,二是每次放弃最短的板。
    代码如下:
    1 int maxArea(vector<int>& height) {
    2         int left,right,Max =-9999;
    3         for(left = 0,right = height.size() - 1;left < right;)
    4         {
    5             Max = max(Max,(right - left)*min(height[left],height[right]));
    6             height[left]<height[right]?left++:right--;
    7         }
    8         return Max;
    9     }
  • 相关阅读:
    HDU 4814
    POJ 3415
    HDU 4941
    C scanf()
    hdu 4850 Wow! Such String!
    HDU 4828 Grids
    HDU 4832 Chess
    HDU 4831
    SpringCloud 网飞系 转换阿里系2
    用jianmu建木自动化打包vue前端应用,并远程ssh建立文件夹,scp文件至对应目录
  • 原文地址:https://www.cnblogs.com/qingjiaowoxiaoxioashou/p/13490241.html
Copyright © 2011-2022 走看看