当前位置: 代码迷 >> 综合 >> LeetCode之 11. Container With Most Water
  详细解决方案

LeetCode之 11. Container With Most Water

热度:95   发布时间:2023-11-19 22:37:31.0

在这里插入图片描述题意:
很多根木头插在地上,问能蓄水最大体积(图中表示为面积)。

分析:
面积考虑长宽,我们不能一边考虑过去,因为你不清楚当前这根何时丢弃。我们需要保证每根木头发挥出自己最大的功效,当底边最长,而且第二根木头的高度> 第一根木头的高度,那么此时记录完之后,可以丢弃第一根木头。 因为他的作用已经发挥到极致了。

代码:

 public int maxArea(int[] height) {int l = 0, r = height.length-1;int ans = 0;while (l<=r){ans = Math.max(ans,(r-l)*(Math.min(height[l],height[r])));if(height[l] <= height[r])l++;else r--;}return  ans;}
  相关解决方案