LeetCode[11]盛水最多的容器

这篇具有很好参考价值的文章主要介绍了LeetCode[11]盛水最多的容器。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

难度:Medium

题目:

给定一个长度为 n 的整数数组 height 。有 n 条垂线,第 i 条线的两个端点是 (i, 0) 和 (i, height[i]) 。

找出其中的两条线,使得它们与 x 轴共同构成的容器可以容纳最多的水。

返回容器可以储存的最大水量。

说明:你不能倾斜容器。


 示例 1:

LeetCode[11]盛水最多的容器,算法刷题篇,# 快速排序(Quick-Sort)及优化,快速排序,leetcode,算法,数据结构,双指针

输入:[1,8,6,2,5,4,8,3,7]
输出:49 
解释:图中垂直线代表输入数组 [1,8,6,2,5,4,8,3,7]。在此情况下,容器能够容纳水(表示为蓝色部分)的最大值为 49。

 示例 2:

输入:height = [1,1]
输出:1

提示:

  • n == height.length
  • 2 <= n <= 105
  • 0 <= height[i] <= 104

Related Topics

  • 贪心
  • 数组
  • 双指针


重点!!!解题思路

第一步:

明确解题手段:此题可以使用双指针这种比较简单的方法

第二步:

在容器两边向内进行比较,每次比较选出此时容器存水的最大值 

源码+讲解:

class Solution {
    public int maxArea(int[] height) {
        int ans=0,i=0,j=height.length-1;
        while (i<j){
            ans=Math.max(ans,(j-i)*Math.min(height[j],height[i]));  //每次选最小的那条线作为高
            if (height[i]<height[j]){  //左面如果比右面矮 就让左面再往后面走走看
                i++;
            }else{  //右面同理
                j--;
            }
        }
        return ans;
    }
}

运行结果:

LeetCode[11]盛水最多的容器,算法刷题篇,# 快速排序(Quick-Sort)及优化,快速排序,leetcode,算法,数据结构,双指针

系列持续更新中,喜欢练习算法的那就点个攒吧   文章来源地址https://www.toymoban.com/news/detail-547868.html

到了这里,关于LeetCode[11]盛水最多的容器的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【刷题篇】贪心算法

    假设1元、2元、5元、10元、20元、50元、100元的纸币分别由c0,c1,c2,c3,c4,c5,c6张。现在要用这些钱来支付K元,至少要用多少张纸币?

    2024年02月09日
    浏览(28)
  • 【算法——双指针】LeetCode 11 盛最多水的容器

    题目描述: 解题思路:         如图所示:         1、我们考虑相距最远的两个柱子所能容纳水的面积。宽度是两根柱子之间的距离8;高度取决于两根柱子之间较短的那个,即左边柱子的高度3。水的面积就是3×8=24。         2、如果选择固定一根柱子,另外一根

    2024年02月12日
    浏览(22)
  • 【Unity插件】最多的插件合集

    ? 最近整理了一下文章,发现我分享了很多的插件,但是如果要查找某一款插件,还需要去搜索才能找到,很不方面,就想要将写过的所有的插件分享也好,教程也好,做一个汇总,然后这篇文章还会不断的更新,在有新的插件之后。 ? 熟悉我的人都知道,我对插件是情有独

    2024年02月17日
    浏览(40)
  • 【算法|双指针系列No.4】leetcode11. 盛最多水的容器

    个人主页:兜里有颗棉花糖 欢迎 点赞👍 收藏✨ 留言✉ 加关注💓本文由 兜里有颗棉花糖 原创 收录于专栏【手撕算法系列专栏】【LeetCode】 🍔本专栏旨在提高自己算法能力的同时,记录一下自己的学习过程,希望对大家有所帮助 🍓希望我们一起努力、成长,共同进步。

    2024年02月06日
    浏览(38)
  • Centos 快速查看占用资源最多的进程

    ps aux|head -1;ps aux|grep -v PID|sort -rn -k +3|head

    2024年02月11日
    浏览(33)
  • 「SQL面试题库」 No_28 订单最多的客户

    「SQL面试题库」是由 不是西红柿 发起,全员免费参与的SQL学习活动。我每天发布1道SQL面试真题,从简单到困难,涵盖所有SQL知识点,我敢保证只要做完这100道题,不仅能轻松搞定面试,代码能力和工作效率也会有明显提升。 1.1 活动流程 整理题目 :西红柿每天无论刮风下雨

    2023年04月10日
    浏览(51)
  • Linux查询内存或CPU占用最多的几个进程

    一、可以使用以下命令查使用内存最多的10个进程 方法1: ps -aux | sort -k4nr | head -10 如果是最高的三个,10改为3即可 命令解释:  1. ps:参数a指代all——所有的进程,u指代userid——执行该进程的用户id,x指代显示所有程序,不以终端机来区分。ps -aux的输出格式如下: USER  

    2024年04月17日
    浏览(29)
  • Linux如何查看当前占用CPU和内存最多的进程

    查看占用 CPU 最高的前10个进程 查看占用内存(MEM)最高的前10个进程 输入 top 命令,然后按下大写M按照内存MEM排序,按下大写P按照CPU排序

    2024年02月17日
    浏览(41)
  • 两个有序表合并成一个有序表最少与最多的比较次数

    在数据结构(严蔚敏)第二章课后习题中有这样一个题,关于把两个有序表合并的操作比较次数 将两个各有 N 个元素的有序表归并成一个有序表,其最少的比较次数是( A )。 A.N B.2N -1 C.2N D.N -1 显然,比如A顺序表的最大值如果比B顺序表的最小值还要小,只需要拿B的最

    2024年02月10日
    浏览(32)
  • 「SQL面试题库」 No_33 好友申请 II :谁有最多的好友

    「SQL面试题库」是由 不是西红柿 发起,全员免费参与的SQL学习活动。我每天发布1道SQL面试真题,从简单到困难,涵盖所有SQL知识点,我敢保证只要做完这100道题,不仅能轻松搞定面试,代码能力和工作效率也会有明显提升。 1.1 活动流程 整理题目 :西红柿每天无论刮风下雨

    2024年02月01日
    浏览(29)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包