LeetCode 之 Container With Most Water
2016-03-17 10:02
323 查看
Given n non-negative integers a1, a2,
..., an, where each represents a point at coordinate (i, ai). n vertical
lines are drawn such that the two endpoints of line i is at (i, ai) 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.
首先要理解题的意思,就是找到容积最大的桶,假设有两个指针(i,j)height[i]和height[j]中的最小者与i和j的差值决定了桶的容积,从这里我们可以想到短板效应。思路如下:两个指针刚开始一个在头一个在尾,之后向中间走,由于桶的底在变短,所以要获得最大的容积必须要两个边的最小值大于之前的最小值。在写代码时思路就是让i,j中小的移动,让短板变大。代码如下:
..., an, where each represents a point at coordinate (i, ai). n vertical
lines are drawn such that the two endpoints of line i is at (i, ai) 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.
首先要理解题的意思,就是找到容积最大的桶,假设有两个指针(i,j)height[i]和height[j]中的最小者与i和j的差值决定了桶的容积,从这里我们可以想到短板效应。思路如下:两个指针刚开始一个在头一个在尾,之后向中间走,由于桶的底在变短,所以要获得最大的容积必须要两个边的最小值大于之前的最小值。在写代码时思路就是让i,j中小的移动,让短板变大。代码如下:
class Solution { public: int maxArea(vector<int>& height) { int max_area=0; int length=height.size(); int i=0,j=length-1; while(i<j){ int temp_max=(j-i)*(min(height[i],height[j])); max_area=max(temp_max,max_area); if(height[i]<height[j]){ i++; }else{ j--; } } return max_area; } };
相关文章推荐
- 【leetcode】【217】Contains Duplicate
- Ubuntu 14.04 vmware workstation:Virtual ethernet [Failed]
- Aizu - 0118(深搜)
- BZOJ 1260 paint
- 出现( linker command failed with exit code 1)错误总结
- server certificate verification failed. CAfile: /e
- PowerDesigner打开设计文件后提示failed to read the fileXXX的解决办法
- Mongodb 3.0+ explain输出参数解析
- 219. Contains Duplicate II
- 初涉IPC,了解AIDL的工作原理及使用方法
- 初涉IPC,了解AIDL的工作原理及使用方法
- Troubleshooting 'library cache: mutex X' Waits. (文档 ID 1357946.1)
- codeforces-148E-Porcelain【DP】
- 错误 1 error LNK2019: 无法解析的外部符号 _wWinMain@16,该符号在函数 ___tmainCRTStartup 中被引用 E:\elipse demo\LTG\LTG\
- Mac Air 优势
- django.db.utils.IntegrityError:(1215, canot add foreign key constraint)
- main函数的两个参数
- URAL1017Staircases DP
- maven install时报错Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:2.3.2:compile
- 从WinMain开始