【LeetCode】【Python解读】Container with most water

【LeetCode】【Python解读】Container with most water

大家好,又见面了,我是全栈君,今天给大家准备了Idea注册码。

这个问题是芭芭拉在采访中遇到的,不幸的是,的复杂性O(n2)该,太失望了,难怪没有通过面试。

Given n non-negative integers a1a2, …, an, where each represents a point at coordinate (iai). n vertical lines are drawn such that the two endpoints of line i is at (iai) and (i, 0). Find two lines, which together with x-axis forms a container, such that the container contains the most water.

Note: You may not slant the container.

题目说的有点复杂,大意是利用x轴作底,两个随意的竖直线段作杯壁,何时盛水最多。

木桶原理大家肯定都知道,水盛多少取决于最短的杯壁,所以此题还能够引申为往围成的区域内放矩形。如何使得矩形面积最大。

题目中的不能倾斜(slant:倾斜,倾倒)相应为矩形必须水平放置。

复杂度为O(n)的思想是贪心原理,先从底边最大的情况考虑,计算最大面积后。此时要将底边长度减1,仅仅须要将杯壁较短的那一边移动一个单位距离,得到的解必然优于杯壁较长那边移动的情况。这样保证每次移动都得到的是局部最优解。

class Solution {
public:
    int maxArea(vector<int> &height) {
        int Len = height.size(),low=0,high=Len-1;
        int maxV = 0;
        while(low<high){
            maxV = max(maxV,(high-low)*min(height[low],height[high]));
            if (height[low]<height[high]) low++;
            else high--;
        }
        return maxV;
    }
};

版权声明:本文博客原创文章,博客,未经同意,不得转载。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/117528.html原文链接:https://javaforall.net

(0)
上一篇 2022年1月4日 下午12:00
下一篇 2022年1月4日 下午12:00


相关推荐

  • 兼职程序员一般可以从什么平台接私活?(程序员不上班接私活可行吗)

    程序员除了在公司上班之外,有时候也需要接私活赚些外快补贴家用,那么国内有哪些渠道可以提供大量的职位呢?笔者从16年接私活以来,积累了一些靠谱的方法推荐给大家,以下是几个国内主流并且不同业务类型的平台,供大家筛选:1、BAT级程序员技术众包平台-猿急送 (https://www.yuanjisong.com/)【概况】这个是国内比较早做技术众包的平台,包括单个的开发型任务,比如PHP开发…

    2022年4月16日
    73
  • 介绍一下pycharm|IDEA【JetBrains公司】通用的自动补全的小功能(超详细)

    介绍一下pycharm|IDEA【JetBrains公司】通用的自动补全的小功能(超详细)程序员都喜欢自动 讨厌手动 我也不例外 今天给大家介绍一下 pycharm 的小功能 可以减少我们的重复我用的是 pycharm2018 首先在空白文档中按 crtl J 会出现这个下拉框 随便一个点击右侧的灯泡或者快捷键 Alt enter 点进去之后会出现这样的菜单 这个就是模板的快捷 我演示的就是 flask 的 选择自己想要设置的环境选择第一个 就会在 flask 环境下创建模板 设置快捷键的名字 在

    2026年3月27日
    2
  • mysql数据库存储过程讲解与实例分析_数据库存储过程的优点

    mysql数据库存储过程讲解与实例分析_数据库存储过程的优点存储过程简介SQL语句需要先编译然后执行,而存储过程(StoredProcedure)是一组为了完成特定功能的SQL语句集,经编译后存储在数据库中,用户通过指定存储过程的名字并给定参数(如果该存储过程带有参数)来调用执行它。存储过程是可编程的函数,在数据库中创建并保存,可以由SQL语句和控制结构组成。当想要在不同的应用程序或平台上执行相同的函数,或者封装特定功能时,存储过…

    2025年7月31日
    4
  • [解决]Invalid configuration `aarch64-linux’: machine `aarch64′ not recognize「建议收藏」

    [解决]Invalid configuration `aarch64-linux’: machine `aarch64′ not recognize「建议收藏」在TX1板卡上移植开源库出现如下错误checkingbuildsystemtype…Invalidconfiguration`aarch64-linux’:machine`aarch64’notrecognized系统环境ubuntu@tegra-ubuntu:/$file/bin/busybox/bin/busybox:ELF64-bitLS…

    2022年10月17日
    13
  • 中国大模型90后第一人将亮相英伟达GTC,揭秘Kimi技术突破

    中国大模型90后第一人将亮相英伟达GTC,揭秘Kimi技术突破

    2026年3月16日
    1
  • windows7如何关闭445端口_win10重装win7的后果

    windows7如何关闭445端口_win10重装win7的后果勒索病毒最新变种2.0已导致我国的很多行业遭受袭击。勒索病毒是通过入侵端口传播,主要是445端口,用户可以通过关闭445端口可以有效预防勒索病毒。下面重点介绍如何关闭445端口。关闭445端口方法图文教程方法一:使用工具一键关闭使用一键关闭445端口软件,下载本工具可以查看计算机开放端口列表及一键关闭445端口方法二:注册表首先,来查看下系统当前都开放了什么端口,怎样查看呢?调出cmd命令行程序,…

    2022年10月16日
    3

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号