题解 | #盛水最多的容器#
盛水最多的容器
https://www.nowcoder.com/practice/3d8d6a8e516e4633a2244d2934e5aa47
public class Solution {
/**
* 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
*
*
* @param height int整型一维数组
* @return int整型
*/
func maxArea ( _ height: [Int]) -> Int {
// write code here
if height.count < 2 {
return 0
}
var left = 0
var right = height.count - 1
var max = 0
//双指针检索
while left < right {
let cur = min(height[left],height[right]) * (right - left)
max = cur > max ? cur : max
//x轴边长必然缩短,只需要关注y轴上,优先舍去较短的边
if height[left] < height[right] {
left += 1
} else {
right -= 1
}
}
return max
}
}
