首页 > 其他分享 >leetcode 11. 盛最多水的容器

leetcode 11. 盛最多水的容器

时间:2023-02-22 17:12:12浏览次数:33  
标签:11 int max height public ans 最多水 leetcode Math

首先最好想的,肯定就是暴力解法,但是太慢了。

class Solution {
    public int maxArea(int[] height) {
        int max = 0;
        for (int i = 0; i < height.length; i++) {
            for (int j = i + 1; j < height.length; j++) {
                int vol = calVol(height, i, j);
                max = Math.max(max, vol);
            }
        }
        return max;
    }

    public int calVol(int[] height, int i, int j) {
        int w = j - i;
        int h = Math.min(height[i], height[j]);
        return w * h;
    }
}

双指针法

两个指针分别指向数组的两端,然后不断移动短的那一个。

public class Solution {
    public int maxArea(int[] height) {
        int l = 0, r = height.length - 1;
        int ans = 0;
        while (l < r) {
            int area = Math.min(height[l], height[r]) * (r - l);
            ans = Math.max(ans, area);
            if (height[l] <= height[r]) {
                ++l;
            }
            else {
                --r;
            }
        }
        return ans;
    }
}

标签:11,int,max,height,public,ans,最多水,leetcode,Math
From: https://www.cnblogs.com/jrjewljs/p/17145103.html

相关文章

  • 【MySQL】011-多表查询
    一、概述1、查询语法select列名列表from表名列表where... 2、笛卡尔积:有两个集合A、B,取这两个集合的所有组成情况;要完成......
  • Windows 11 22H2 跳过微软账户登录系统
    1、安装完Windows11系统最新版22H2后,进入到网络设置界面时,使用快捷键Shift+F10打开“命令提示符”(注意:部分笔记本快捷键为Fn+Shift+F10)2、在弹出的命令窗口输入以......
  • E011Web学习笔记-Servlet
    一、Servlet入门1、概述概念:运行在服务器上的小程序;实际上Servlet是一个接口,定义了Java类被浏览器访问到(或者说被Tomcat识别的)规则;使用:自定......
  • LeetCode 49. 字母异位词分组(/hash)
    原题解题目约束题解解法一classSolution{public:vector<vector<string>>groupAnagrams(vector<string>&strs){unordered_map<string,vect......
  • window10/11管理员账户查看历史wifi连接密码
    问题如何查看window10/11历史连接wifi密码解决cmd右键管理身份打开查看历史连接wifi的配置netshwlanshowprofilekey=clear根据配置查看wifi密码netshwlan......
  • 华为HCIA-Datacom(H12-811)认证题库
    101、​网络管理员在路由器设备上使用了TracertRoute功能后、路由器发出的数据包中,IPv4首部的Protocol宇段取值为?()​A、17​B、2​C、6​D、1​试题答案:[['D']]​试题解析:​......
  • Error:java: 无效的源发行版: 11
    今天启动之前的自学的项目,启动项目的时候失败,出现了:·Error:java:无效的源发行版:11错误可能是将之前的项目倒在自己的本地没有注意直接选择11的版本,这时候就需要将jdk......
  • debian11安装配置jdk8
    来源参考 https://blog.csdn.net/m0_57194110/article/details/128847508 1.下载jdk8JavaDownloads|Oracle下载 jdk-8u361-linux-x64.tar.gz 文件就可以了  ......
  • 算法19:LeetCode_二叉树序列化与反序列化(层序)
    ​ 本题为链接为https://leetcode.cn/problems/serialize-and-deserialize-binary-tree想要搞懂本题,请先阅读我之前写的关于二叉树层序遍历文章算法8:LeetCode_二叉树的......
  • ubuntu 11.04 无法确定任何包文件的位置,可能这不是一张 Debian 盘片 解决方法
    现把/media/apt/作为了CD-ROM的挂载点正在鉴别..[a406bbdecc599238e3c25cf069c24966-2]正在盘片中查找索引文件..找到了0个......