LeetCode Container With Most Water
来源:互联网 发布:a卡 mac dsdt hdmi 编辑:程序博客网 时间:2024/04/20 00:15
LeetCode解题之Container With Most Water
原题
给定一组长短不一的隔板,挑其中的两块板,使得板子之间能装最多的水。
注意点:
- 两块板之间能装多少水是由短的那块板决定的
- 选定两块板之后,它们之间的板就不存在了
例子:
输入: height=[1,1,1]
输出: 2
解题思路
我们把两块板分为左板、右板,现在考虑如下情况。假设左板高度为h,且比右板低,两块板之间的距离为w,则此时最多能装水w*h,此时我们尝试移动隔板。如果将左板向右移,那么有可能使容积变大,例如,左板右边的板子高h1(还是比右板低),此时最多装水(w-1)*h1,有可能比w*h大;如果将右板向左移,由于水的高度不能高于左板,所以容积最多为(w-1)*h,肯定比w*h小。基于上面的假设,我们只要把两块隔板依次向中间靠拢,就可以求出最大的容积。
AC源码
class Solution(object): def maxArea(self, height): """ :type height: List[int] :rtype: int """ if not height: return 0 left = 0 right = len(height) - 1 result = 0 while left < right: if height[left] < height[right]: area = height[left] * (right - left) result = max(result, area) left += 1 else: area = height[right] * (right - left) result = max(result, area) right -= 1 return resultif __name__ == "__main__": assert Solution().maxArea([1, 1]) == 1
欢迎查看我的Github (https://github.com/gavinfish/LeetCode-Python) 来获得相关源码。
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
- 修改liunx 下 默认编译
- Redis入门之Redis 安装超详细文档
- AOP详解
- neo4j where with Regular expressions
- 【jQuery】使用unbind()方法移除元素绑定的事件
- LeetCode Container With Most Water
- Spring mvc+hibernate+freemarker(实战)
- 射频测试的重要性
- 次范德萨范德萨
- 关于系统前端开发的那些事
- Java之多线程内存可见性_2(volatile不能保证原子性)
- clean postgre single table
- iOS 数据持久化 -- Core Data (2)
- Django settings.py 中设置访问 MySQL 数据库【一种是直接在 settings.py 文件中直接写数据库信息,另一种是读文件获取数据库信息】