首页 > 其他 > 详细

[LeetCode]Container With Most Water

时间:2014-05-15 02:28:45      阅读:388      评论: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.

bubuko.com,布布扣

从两端开始计算,就是求由两条线和X轴组成的最大图形,可以盛水的最大值(由线得最小值和宽度的乘积决定)

class Solution {
public:
    int maxArea(vector<int> &height) {
    int ans = 0;
	int leftPos, rightPos;
	leftPos = 0;
	rightPos = height.size() - 1;
	while(leftPos < rightPos)
	{
		ans = max(ans, min(height[leftPos], height[rightPos]) * (rightPos - leftPos));
		if (height[leftPos] < height[rightPos])
		{
			leftPos++;
		}
		else
		{
			rightPos--;
		}
	}
	return ans;
    }
};



[LeetCode]Container With Most Water,布布扣,bubuko.com

[LeetCode]Container With Most Water

原文:http://blog.csdn.net/jet_yingjia/article/details/25803277

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