leetcode hot 09

解题思路:双指针另一种思路就是两个指针从数组两边往中间走,碰到符合条件的记录下来。两个指针一开始在最两边,底边一定是最长的,记录此时的面积,然后选取两者中较短的往对方靠拢,因为底边缩短,如果面积要出现更大的,一定是较短的变长了,依靠这个思路继续遍历直到left==right,最后返回记录的最大的面积值。

class Solution {
    public int maxArea(int[] height) {
        int left = 0;
        int right = height.length-1;
        int maxarea = 0;
        while(left<right){
            int low = Math.min(height[left],height[right]);
            if((right-left)*low>maxarea) maxarea = (right-left)*low;
            if(height[left]<height[right]) left++;
            else right--;
        }
        return maxarea;
    }
}
posted @   kukudev  阅读(1)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 从HTTP原因短语缺失研究HTTP/2和HTTP/3的设计差异
· 三行代码完成国际化适配,妙~啊~
点击右上角即可分享
微信分享提示