LeetCode刷题专题

Posted DoBetteri

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了LeetCode刷题专题相关的知识,希望对你有一定的参考价值。

1.

https://leetcode-cn.com/problems/container-with-most-water/

 

思想:左右边界  i,j   向中间收敛 ,左右夹逼 

 

方法一:

一维数组的坐标变换 i,j
枚举:left bar,right bar. (x-y)*height_diff
 
class Solution {
    public int maxArea(int[] height) {

    int max = 0 ;
      
    for(int i = 0 ; i < height.length -1; ++i ){

        for(int j = i + 1;j < height.length; ++j){

            int area = (j-i)* Math.min(height[i],height[j]);
            max = Math.max(max,area);
        }
    }

    return max;

    }
}
 
方法二:
 
class Solution {
    public int maxArea(int[] height) {

    int max = 0 ;
    for(int i = 0, j = height.length -1; i<j;) {
        int minHeight = height[i]<height[j]? height[i++]:height[j--];
        int area =(j-i+1)*minHeight;
        max = Math.max(max,area);
    } 
    return max;

    }
}

以上是关于LeetCode刷题专题的主要内容,如果未能解决你的问题,请参考以下文章

Leetcode(双指针专题)

leetcode刷题总目录

Leetcode刷题笔记-动态规划

leetcode刷题三十六

leetcode刷题MySQL题解十二

leetcode刷题四