• Leetcode题目:Container With Most Water


    题目:

    Given n non-negative integers a1a2, ..., an, where each represents a point at coordinate (iai). n vertical lines are drawn such that the two endpoints of line i is at (iai) 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.

    题目解答:

      题目中要求得两个纵轴与x轴围起来的容器的最大容积。这里使用两个指针,从头尾两边向中间缩进。不断更新最值。

    代码:

    class Solution {
    public:
        int maxArea(vector<int>& height) {
            vector<int>::iterator vleft = height.begin();
            vector<int>::iterator vright = height.end() - 1;
            int res = 0;
            while(vleft != vright)
            {
               // cout << "leftv" <<*vleft <<endl;
                //cout << "rightv"<<*vright <<endl;
                //cout << "minus" << (vright - vleft) << endl; 
    			res = max(res, min(*vleft, *vright) * (vright - vleft) );
                //cout << "res" << res << endl; 
                
                if(*vleft < *vright)
                {
                    vector<int>::iterator tmp = vleft;
                    while( (tmp != vright) && (*tmp <= *vleft) )
                    {
                        tmp++;
                    }
                    vleft = tmp;
                }
                else
                {
                    vector<int>::iterator tmp = vright;
                    while( (tmp != vleft) && (*tmp <= *vright) )
                    {
                        tmp--;
                    }
                    vright = tmp;
                }
            }
            return res;
        }
        int max(int a,int b)
        {
            return a > b ? a : b;
        }
        
        int min(int a,int b)
        {
            return a < b ? a : b;
        }
    };
    

      

  • 相关阅读:
    第三周作业
    xxx生成式
    生成器
    迭代器
    叠加多个装饰器的执行原理
    装饰器——有参装饰器
    装饰器
    修改linux主机名称
    安装nagios出现的两个错误记录
    导入CSV文件之后出现换行符问题
  • 原文地址:https://www.cnblogs.com/CodingGirl121/p/5583441.html
Copyright © 2020-2023  润新知