IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 系统运维 -> leetcode第十一题 盛最多水的容器 -> 正文阅读

[系统运维]leetcode第十一题 盛最多水的容器

解题思路

这道题关键是理解一个概念:

在每个状态下,无论长板或短板向中间收窄一格,都会导致水槽底边宽度 -1变短:

  • 但是当你将短板那侧向内测移动一位的时候,水槽的面积是有可能增大的,比如看这样一张图,当你将短的那侧的向内移动一位,面积由之前的2 X 4 = 8变为5 X 3 = 15

?

  • 而当你选择向内移动长的那侧的时候,面积是一定减少的,因为,他长度是受到短板的制约;因此无论你接下来向内移动的那个版有多长,都无关紧要了。

  • 而咱们要找的就是在这几个板中构成最大的闭合空间,因此我们只需要将短板的那侧向内移动,并且将面积与上一次的对比保留最大的就可以了

具体细节

定义头尾索引,去记录移动的位置,如果头移动就+,尾移动就-,将计算结果与保留下来的历史最大值对比,保留大的。

代码

class Solution {
 ? ?public int maxArea(int[] height) {
 ? ? ? ?int start = 0,end = height.length - 1,result = 0;
 ? ? ? ?while(start < end){
 ? ? ? ? ? ?result = height[start] > height[end] ? 
 ? ? ? ? ? ?Math.max(result,(end - start) * height[end--]) :
 ? ? ? ? ? ?Math.max(result,(end - start) * height[start++]);
 ? ? ?  }
 ? ? ? ?return result;
 ?  }
}

  系统运维 最新文章
配置小型公司网络WLAN基本业务(AC通过三层
如何在交付运维过程中建立风险底线意识,提
快速传输大文件,怎么通过网络传大文件给对
从游戏服务端角度分析移动同步(状态同步)
MySQL使用MyCat实现分库分表
如何用DWDM射频光纤技术实现200公里外的站点
国内顺畅下载k8s.gcr.io的镜像
自动化测试appium
ctfshow ssrf
Linux操作系统学习之实用指令(Centos7/8均
上一篇文章      下一篇文章      查看所有文章
加:2021-10-30 12:50:22  更:2021-10-30 12:50:59 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/15 22:58:09-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码