首页 > TAG信息列表 > 盛水

letcode算法--8.盛水最多的容器

给定一个长度为 n 的整数数组 height 。有 n 条垂线,第 i 条线的两个端点是 (i, 0) 和 (i, height[i]) 。 找出其中的两条线,使得它们与 x 轴共同构成的容器可以容纳最多的水。 返回容器可以储存的最大水量。 说明:你不能倾斜容器。 来源:力扣(LeetCode)链接:https://leetcode.

LeetCode/盛水最多的容器

给定一个长度为 n 的整数数组 height 。有 n 条垂线,第 i 条线的两个端点是 (i, 0) 和 (i, height[i]) 。 找出其中的两条线,使得它们与 x 轴共同构成的容器可以容纳最多的水。 返回容器可以储存的最大水量。 思路 1.暴力求解 计算任意两端点间的储水量,取最大值,性能非常差

Leetcode11.盛水最多的容器

问题描述: 给定一个长度为 n 的整数数组 height 。有 n 条垂线,第 i 条线的两个端点是 (i, 0) 和 (i, height[i]) 。 找出其中的两条线,使得它们与 x 轴共同构成的容器可以容纳最多的水。 返回容器可以储存的最大水量。 说明:你不能倾斜容器。   题解思路: 容器的面积公式:S

腾讯五十题 No.7 盛水最多的容器

题目链接 左右指针,不知道为什么挺慢的4ms public class Solution { public int maxArea(int[] height) { //定义左右指针 int l = 0,r = height.length-1; int ans = 0; while(l<r){ //找最大值 int tmp = Math.min(heigh

leecode11——盛水问题

一开始用的暴力解法 两个for循环 因为有两个指针指向 然后第一下就是想着两个指针 然鹅指针一个在头一个在尾 开始记录了最左和最右的容量,若向内移动短指针 容器有可能变大(三种情况都有) 若移动长指针,那么容量会变小,因为两个壁最小值不变,而间距变小。 class Solution { p

11.盛水最多的容器

作者 : XiaXinyu 日期 :2021-10-01 题目 [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-CbhY4xrk-1633062394515)(https://z3.ax1x.com/2021/10/01/4T7Jun.md.png)] 理解 这道题的关键点在于要理解木桶效应,即一个木桶能装多少水取决于最短的木板长

容器盛水问题

题1:盛最多水的容器 解题:双指针 初始两个左右指针,可容纳水量min(左指针,右指针)*指针间距 S(i, j) = min(h[i], h[j]) × (j - i)移动数字较小的指针,min(h[i],h[j])可能变大 public class Solution { public int maxArea(int[] height) { int left = 0; int right = h

LeetCode每日刷题-11.盛水最多的容器

11. 盛最多水的容器 题目: 给你 n 个非负整数 a1,a2,...,an,每个数代表坐标中的一个点 (i, ai) 。在坐标内画 n 条垂直线,垂直线 i 的两个端点分别为 (i, ai) 和 (i, 0) 。找出其中的两条线,使得它们与 x 轴共同构成的容器可以容纳最多的水。 说明:你不能倾斜容器。 示例:   输入:[1,

【LeetCode每日一题】——11.盛水最多的容器

文章目录 一【题目类别】二【题目难度】三【题目编号】四【题目描述】五【题目示例】六【题目提示】七【解题思路】八【时间频度】九【代码实现】十【提交结果】 一【题目类别】 数组 二【题目难度】 中等 三【题目编号】 11.盛水最多的容器 四【题目描述】 给你 n 个非

【力扣】盛水最多的容器

来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/container-with-most-water 给你 n 个非负整数 a1,a2,...,an,每个数代表坐标中的一个点 (i, ai) 。在坐标内画 n 条垂直线,垂直线 i 的两个端点分别为 (i, ai) 和 (i, 0) 。找出其中的两条线,使得它们与 x 轴共同构成的容

leetcode 盛水最多的容器 解析

采用双指针法: 主要思想:定义头尾两个指针,分别向中间遍历,当相遇时结束循环。存储每一次遍历容器盛水的最大容量,并不断更新。 盛水的最大容量为 左右指针高度的最小值 乘以 左右指针的距离即宽度。 则可以得到最终的盛水容量。每一次比较头尾指针的高度,若头比尾高 则尾指针向左移动,若

LeetCode-11:盛水最多的容器

题解   这一题很经典,难吗?,想得到还是挺简单的。        该题的正解是 双指针 + 贪心 的策略,在其首尾各放一个指针,每次移动指针指向高度较小的数向内侧移动,在不断移动的过程中记录Max即可。        为何能保证得到最优解呢?        以图示验证算法的正确性:      

LeetCode 11.盛水最多的容器

LeetCode 11.盛水最多的容器 给定 n 个非负整数 a1,a2,…,an,每个数代表坐标中的一个点 (i, ai) 。在坐标内画 n 条垂直线,垂直线 i 的两个端点分别为 (i, ai) 和 (i, 0)。找出其中的两条线,使得它们与 x 轴共同构成的容器可以容纳最多的水。 说明:你不能倾斜容器,且 n 的值至少为

盛水最多的容器

给定 n 个非负整数 a1,a2,...,an,每个数代表坐标中的一个点 (i, ai) 。在坐标内画 n 条垂直线,垂直线 i 的两个端点分别为 (i, ai) 和 (i, 0)。找出其中的两条线,使得它们与 x 轴共同构成的容器可以容纳最多的水。输入数组 [1,8,6,2,5,4,8,3,7]。在此情况下,容器能够容纳水(表示为蓝

Leetcode_11 盛水最多的容器

class Solution: def maxArea(self, height: List[int]) -> int: len_h = len(height) #得到列表长度 maxarea = 0 #初始化最大面积为0 i = 0 #设置第一个位置left的指针 j = len_h - 1 #设置最后一个位置right的指针