[LeetCode] Container With Most Water
来源:互联网 发布:淘宝访客量越来越少 编辑:程序博客网 时间:2024/05/22 01:58
题目
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.
思路
这道题采用双层循环暴力求解肯定会Time Limited,其实考察的是Two Pointers的知识点,给定两个指针left和right分别指向容器的左端和右端,向中间靠拢,可以在O(n)时间里找到最大容量。核心思想是:当left的高度<right的高度时,就不需要考虑left和right右侧的线段为两端的容器了,因为决定容器容量多少取决于较短的那条线段,令left++,反之亦然。
代码
public class Solution { public int maxArea(int[] height) { int left = 0; int right = height.length - 1; int maxVolume = 0; while (left < right) { int volume = Math.min(height[left],height[right])*(right - left); if (volume > maxVolume) maxVolume = volume; if (height[left] <= height[right]) left++; else right--; } return maxVolume; }}
0 0
- LeetCode: Container With Most Water
- [LeetCode]Container With Most Water
- LeetCode Container With Most Water
- LeetCode: Container With Most Water
- [Leetcode] Container With Most Water
- Leetcode: Container With Most Water
- [LeetCode] Container With Most Water
- LeetCode Container With Most Water
- [Leetcode] Container With Most Water
- [LeetCode]Container With Most Water
- LeetCode-Container With Most Water
- Container With Most Water leetcode
- LeetCode - Container With Most Water
- LeetCode: Container With Most Water
- Leetcode: Container With Most Water
- 【LeetCode】Container With Most Water
- Leetcode: Container With Most Water
- LeetCode:Container With Most Water
- Linux 偏门接口速记
- hive大数据倾斜总结
- 弧度与角度的转化公式
- php session 登录退出验证
- UTF8最好不要带BOM
- [LeetCode] Container With Most Water
- 11.15回龙观同湘会聚会总结
- 使用Netbeans创建java Web项目
- 使用Android Studio创建第一个Hello World应用程序
- Android 购物车
- 网上商城--对于学习再认识
- 学NTFS格式磁盘解析及atapi磁盘读写
- CodeForces 268D Wall Bars [基础DP]
- Java 堆内存