zoukankan      html  css  js  c++  java
  • leetcode——11.盛最多水的容器

    双指针法:

    class Solution:
        def maxArea(self, height) -> int:
            if len(height)<=1:
                return 0
            #双指针法
            i,j,S=0,len(height)-1,0
            while i<j:
                if height[i]<height[j]:
                    S=max(S,height[i]*(j-i))
                    i+=1
                else:
                    S=max(S,height[j]*(j-i))
                    j-=1
            return S
    执行用时 :148 ms, 在所有 Python3 提交中击败了82.08%的用户
    内存消耗 :15.5 MB, 在所有 Python3 提交中击败了5.18%的用户
     
                                                          ——2019.10.7
     

    用时14分钟50秒:
    public int maxArea(int[] height) {
            int n = height.length;
            int max_right = height[n-1];
            int max_area = 0;
            for(int j = n-1;j>=1;j--){
                if(j==(n-1) || height[j] > max_right){
                    max_right = height[j];
                    for (int i = 0; i < j; i++) {
                        max_area = Math.max(max_area, Math.min(height[i], height[j]) * (j - i));
                    }
                }
            }
            return max_area;
        }

    public int maxArea(int[] height) {
            int n = height.length;
            int max_area = 0;
            int i = 0;
            int j = n-1;
            while (i<j){
                if(height[i]<height[j]){
                    max_area = Math.max(max_area, height[i] * (j - i));
                    i++;
                }else{
                    max_area = Math.max(max_area, height[j] * (j - i));
                    j--;
                }
            }
            return max_area;
        }

     ——2020.8.5

    我的前方是万里征途,星辰大海!!
  • 相关阅读:
    C语言寒假大作战01
    第十二次作业
    第十一次作业
    第十周作业
    第九次作业
    第8周作业
    第七次作业
    C语言I作业12—学期总结
    第一周作业
    C语言l博客作业02
  • 原文地址:https://www.cnblogs.com/taoyuxin/p/11632637.html
Copyright © 2011-2022 走看看