盛水最大量---贪心算法
2016-07-20 15:11
423 查看
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.
x-axis forms a container, such that the container
contains the most water.
Note: You may not slant the container.
public class Solution { public int maxArea(int[] height) { int left = 0, right = height.length - 1, maxArea = 0; while(left < right){ // 每次更新最大面积(盛水量) maxArea = Math.max(maxArea,(right-left)* Math.min(height[left], height[right])); // 如果左边较低,则将左边向中间移一点 if(height[left] < height[right]){ left++; // 如果右边较低,则将右边向中间移一点 } else { right--; } } return maxArea; } }
相关文章推荐
- mysql 编译参数详解
- Javascript 基础之Number对象
- 脏数据清洗
- Cpp环境【OpenJudge3344】【Vijos2874】冷血格斗场
- csdn markdown 使用方法,快捷键
- threadlocal与数据库连接池
- hdu 5726 GCD 2016多校赛第一场
- rxjava+retrofit+okhttp 打造通用接口
- 孪生素数问题 &&一种排序 && 大数阶乘 &&筛素(2)
- XML 解析--SAX
- Android—ContentProvider读取系统联系人
- iOS开发UI篇-自定义CALayer
- 应用优化
- 直接用编译器按ctrl+F5运行和Release、Debug下双击运行结果不一样
- java中读取配置文件的方法
- XSS攻击
- 一代记忆
- ThreadLocal误区解密
- 移动网络手机抓包分享
- Javascript 基础之Date对象