首页 > 其他分享 >[LeetCode Hot 100] LeetCode11. 盛最多的水

[LeetCode Hot 100] LeetCode11. 盛最多的水

时间:2023-12-02 10:33:54浏览次数:44  
标签:int res length height LeetCode11 Hot 100 短板 Math

题目描述

方法一:暴力,超出时间限制

模拟所有情况,记录最大的体积值。
体积 = Math.min(height[i], height[j]) * (j - i)

class Solution {
    public int maxArea(int[] height) {
        int res = Integer.MIN_VALUE;

        for (int i = 0; i < height.length; i ++) {
            for (int j = i + 1; j < height.length; j ++) {
                int edge = Math.min(height[i], height[j]);
                res = Math.max(res, (j - i) * edge);
            }
        }
        return res;
    }
}

时间复杂度O(n2)

方法二:双指针

思路

  • 初始化: 双指针 iii , jjj 分列水槽左右两端;
  • 循环收窄: 直至双指针相遇时跳出;
    • 更新面积最大值:res;
    • 选定两板高度中的短板,向中间收窄一格;
  • 返回值:返回面积最大值res即可;

木桶容量由短板决定, 移动长板的话, 水面高度不可能再上升, 而宽度变小了, 所以只有通过移动短板, 才有可能使水位上升.

class Solution {
    public int maxArea(int[] height) {
        int i = 0, j = height.length - 1;
        int res = Integer.MIN_VALUE;

        while (i <= j) {
            int area = (j - i) * Math.min(height[i], height[j]);
            if (area > res) {
                res = area;
            }
            if (height[i] <= height[j]) {
                i ++;
            }else if (height[i] > height[j]) {
                j --;
            }
        }
        return res;
    }
}

标签:int,res,length,height,LeetCode11,Hot,100,短板,Math
From: https://www.cnblogs.com/keyongkang/p/17871320.html

相关文章

  • 初中英语优秀范文100篇-014There's Always Hope-常怀希望
    PDF格式公众号回复关键字:SHCZFW014记忆树1Lifeisnobedofroses.翻译生活并非一帆风顺。简化记忆生活句子结构该句是一个简单句,结构分析如下:主语:“Life”(生活)谓语:“is”(是)表语:“nobedofroses”(不是玫瑰床)定冠词:“no”(没有)名词短语:“bedofroses”(玫瑰床......
  • [LeetCode Hot 100] LeetCode128. 最长连续序列
    题目描述思路将数组所有点映射到一个数轴上,可以发现问题变为求每段区间首元素到尾元素的长度的最大值。区间的长度:区间尾元素值-区间首元素值+1方法一:超出时间限制这个方法是最初自己想到的,但是超时了,主要原因是程序会有冗余的遍历过程,增加了开销。思路:(时间复杂度太高)......
  • 畅网全新N100 NAS主板悄悄上架了
     来看看靓照 ......
  • NVIDIA H100 GPU:GPU的机密计算
    NVIDIA的官方说明:https://www.nvidia.cn/data-center/solutions/confidential-computing/   ==========================......
  • NI-9219 100 S/s/ch国产化4通道C系列通用多功能模拟输入模块,支持多种传感器
    100S/s/ch,4通道C系列通用模拟输入模块NI-9219专为多功能测试而设计。NI-9219可用于测量来自多种传感器(如应变计,电阻温度检测器(RTD),热电偶,测压元件和其他有源传感器等)的信号,以及制作1/4桥,半桥和全桥电流测量,且具有内置电压和电流激励。您可以在每个通道上分别选择,从而执行不同的测......
  • 10046
    1.10046事件会话级别适用场景:这种方法适用于SQL语句可以在新的session创建后再运行1.1.设置生成的trace文件标志altersessionsettracefile_identifier='10046';1.2.开启跟踪altersessionsetevents'10046tracenamecontextforever,level12';1.3.执行要跟踪的S......
  • 初中英语优秀范文100篇-013My Progress-我进步了
    PDF格式公众号回复关键字:SHCZFW013记忆树1Ihavemadeprogressindevelopingreadinghabits.翻译我在培养阅读习惯方面有所进展简化记忆进展句子结构主语是“I”(我),谓语是“havemade”(成功做了某件事情的动作),宾语是“progress”(进步),“indevelopingreadingh......
  • 1000多页!LeetCode刷题手册分享
    这本手册确实是一部令人印象深刻的作品。(手册链接在文末!!!)首先,内容充实是这本手册的一大亮点。它涵盖了广泛的算法和数据结构主题,包括数组、链表、树、图、排序算法、动态规划等等。每个主题都有详细的解释、示例代码和复杂度分析,帮助读者深入理解和掌握相关知识。此外,手册还提供......
  • 求1-100相加的总和
    第一种方式:一行代码搞定print(sum(range(1,101)))  第二种方式:for循环sum=0foriinrange(1,101):sum=sum+1print(sum)  ......
  • 初中英语优秀范文100篇-012 My Experience of Being a Volunteer - 我的一次志愿者经
    PDF格式公众号回复关键字:SHCZFW012记忆树1Lastyear,Ipaidavisittothehomefortheagedwithmyclassmatesasvolunteers.翻译去年,我和我的同学作为志愿者去老年人之家探望了老人们。简化记忆探望老人句子结构这个句子可以分为四个主要部分:1状语短语:“La......