首页 > 其他 > 详细

LeetCode Container With Most Water

时间:2014-12-04 21:33:12      阅读:313      评论:0      收藏:0      [点我收藏+]

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.

class Solution {
public:
    int maxArea(vector<int> &height)
    {
        int j=height.size()-1,i=0,mx=0;

        while(i<j)
        {
            mx=max(mx,((j-i)*(min(height[i],height[j]))));

            if(height[i]<height[j])
             i++;
             else if(height[i]>=height[j])
             j--;
        }
        return mx;
    }
};
人家的代码,哎
class Solution {
public:
        int min(int a,int b)
        {
            return a>b?b:a;
        }
    int maxArea(vector<int> &height) {
        vector<int> first,last;
        int max = height[0];
        first.push_back(max);
        first.push_back(0);
        for(int i=0;i<height.size();i++)
        {
            if(height[i] > max)
            {
                max = height[i];
                first.push_back(max);
                first.push_back(i);
            }
            else continue;
        }
        
        max = height[height.size()-1];
        last.push_back(max);
        last.push_back(height.size()-1);
        
        for(int i=height.size()-1;i>=0;i--)
        {
            if(height[i] > max)
            {
                max = height[i];
                last.push_back(max);
                last.push_back(i);
            }
            else continue;
        }
        
        max = 0;
        for(int i=0;i<first.size();i+=2)
        {
            for(int j=0;j<last.size();j+=2)
            {
                if(min(first[i],last[j]) * (last[j+1] - first[i+1]) > max)
                 max = min(first[i],last[j]) * (last[j+1] - first[i+1]);
            }
        }
        return max;
    }
};
我的代码,哎

解题思路:不说了

LeetCode Container With Most Water

原文:http://www.cnblogs.com/55open/p/4143761.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!