题解 | #装最多水的容器#

装最多水的容器

http://www.nowcoder.com/practice/c97c1400a425438fb130f54fdcef0c57

方法1:暴力解法:

class Solution {
public:
    int maxArea(vector<int>&amp; height) {
        int max = 0;
        for(int i =0; i<height.size(); i++) { for (int j="i+1;j" < height.size(); j++){ int h="min(height[i]," height[j]); if(h*(j-i)> max)  max = h*(j-i);
            }
        }

        return max;
    }
};

方法2:

有人说水的最大体积由最长木板决定,只有移动短的木板那头,才有可能使得水

的体积变大。好像称作双指针。

    public int maxArea (int[] height) {
        if(height == null || height.length &lt; 2)return 0;
        int max = 0;
        int n = height.length;
        int i = 0,j = n - 1;
        while(i &lt; j){
            int maxArea = (j - i) * Math.min(height[i],height[j]);
            max = Math.max(max,maxArea);
            if(height[i] &lt; height[j]){
                i++;
            } else {
                j--;
            }
        }
        return max;
    }
全部评论

相关推荐

点赞 评论 收藏
分享
02-11 11:02
已编辑
门头沟学院 硬件开发
Just路人甲:个人建议,把“课程设计”删掉,面试官又不知道你到底是课设还是竞赛,他问你你就说竞赛整的。面试考察的是是你能否🐯得住面试官,即使你插葱装象只要他看不出来,那你也赢了。当然倘若你本身就很硬那自然无懈可击。身边有哥们就是这么拿下心中的 offer 的
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务