【算法hot-11】盛最多水的容器
2023-09-27 14:29:28 时间
盛最多水的容器
输入:[1,8,6,2,5,4,8,3,7]
输出:49
解释:图中垂直线代表输入数组 [1,8,6,2,5,4,8,3,7]。在此情况下,容器能够容纳水(表示为蓝色部分)的最大值为 49。
public class LC004_11_maxArea {
public static void main(String[] args) {
int[] ints = {1, 8, 6, 2, 5, 4, 8, 3, 7};
System.out.println(maxArea(ints));
}
public static int maxArea(int[] height) {
//每次都计算2个柱子的体积,算出最大值 双指针+贪心
int left = 0, right = height.length - 1, ans = 0;
while (left < right) {
ans = height[left] < height[right] ?
Math.max(ans, (right - left) * height[left++]) :
Math.max(ans, (right - left) * height[right--]);
}
return ans;
}
}
相关文章
- 负载均衡算法
- VEGA:诺亚AutoML高性能开源算法集简介
- C++标准模板库STL算法与自适应容器(栈和队列)
- 异常检测算法(二):OneClassSVM【严格讲,不是outlier检测方法,而是novelty检测方法】【但数据维度很高或对相关数据分布没任何假设情况下,也可作为一种很好的outlier检测方法】
- SSE图像算法优化系列十三:超高速BoxBlur算法的实现和优化(Opencv的速度的五倍)
- 机器学习:K-近邻算法对鸢尾花数据进行分类预测
- 《盘点那些秀你一脸的秒天秒地算法》(3)
- 冷饭新炒:理解布隆过滤器算法的实现原理
- 数据结构——排序算法总结
- hdu 4685 Prince and Princess(匈牙利算法 连通分量)
- 一步一步写算法(之克鲁斯卡尔算法 上)
- hdu6172&&hdu6185&&P5487——BM算法
- 【Manacher算法】Palindrome
- MFC-透明度算法