码迷,mamicode.com
首页 > 其他好文 > 详细

[LeetCode]Container With Most Water

时间:2014-05-15 02:29:03      阅读:387      评论:0      收藏:0      [点我收藏+]

标签:style   blog   class   code   c   ext   

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

标签:style   blog   class   code   c   ext   

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

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!