解法:双指针 典型题
思路:记录 max 值,从两边慢慢缩小范围,不断计算更新最大面积。
fun maxArea(height: IntArray): Int {
var max = 0
if (height.isEmpty()) return max
var left = 0
var right = height.size - 1
while (left < right) {
val temp = Math.min(height[left], height[right]) * (right - left)
max = Math.max(max, temp)
if (height[left] < height[right])
left++
else
right--
}
return max
}
本站由以下主机服务商提供服务支持:
0条评论