leetcode 11
2015-09-29 11:39
211 查看
Container With Most Water
一直陷入一个误区就是:以为是求最大面积,所以一直以梯形面积去计算,这困扰了我很久。
实际上跟短板原理一样,题目要求装最多的水,那么只需要求以短边为长,x坐标差为宽的矩形面积的最小值即可。
实测两重循环超时,在此就不贴出代码了。
此处用贪心算法解决。
即,两个指针分别在两头向中间移动。
(i,hi) (j,hj),两个点中,h较小的移动其索引。
代码:
一直陷入一个误区就是:以为是求最大面积,所以一直以梯形面积去计算,这困扰了我很久。
实际上跟短板原理一样,题目要求装最多的水,那么只需要求以短边为长,x坐标差为宽的矩形面积的最小值即可。
实测两重循环超时,在此就不贴出代码了。
此处用贪心算法解决。
即,两个指针分别在两头向中间移动。
(i,hi) (j,hj),两个点中,h较小的移动其索引。
代码:
class Solution { private: double area(int up,int down,int height) { if(up==0||down==0) return 0.0; double result = height*min(up,down)*1.0; return result; } public: int maxArea(vector<int>& height) { int i=0; int j=height.size()-1; double max = 0.0; while(i<j) { double result = area(height[i],height[j],j-i); if(result > max) max=result; if(height[j]>height[i]) i++; else j--; } return (int)max; } };
相关文章推荐
- 2015 9月29日 工作计划与执行
- Android应用中添加友盟统计
- tair(一)--入门
- android 登录界面 记住多组账号与密码
- Leaflet学习笔记-基础内容
- SpringMVC存取Session的两种方法
- 2015 9月28日 工作计划与执行
- https和http的区别
- 简单的HTML5初步入门教程
- Java:Character
- vmware下设置hostonly方式上网
- 写个测试程序看看磁盘映像文件中哪个扇区可以使用?
- jquery checkbox勾选/取消勾选的诡异问题
- Mybatis系列(二)配置
- 华为机试——扑克牌
- Spring MVC textbox example
- 杂乱小知识点总结
- iOS 使用AVFoundation 扫描二维码并限定扫描区域(带代码生成蒙版)
- 7款jQuery图片轮播滑动插件
- java 23种设计模式学习。