力扣

解释:给定数组nums,求Max( min(nums[i],nums[j])*(j-i) ), 0<=i<j<nums.size()


目录

双指针

简单证明:

小技巧

1.对撞双指针

2.求最值


双指针

两个指针i,j指向数组首位

简单证明

不失一般性,假设nums[i]<nums[j]

如果移动右指针j,则底也变小,高可能变小可能不变,面积不可能变大。

所以只能移动i,及每次移动对应数值小的指针

class Solution {
public:int maxArea(vector<int>& height) {
int n=height.size();
int i=0;
int j=n-1;
//双指针指向数组首尾int max_content=(j-i)*min(height[j],height[i]);
int max_temp;//循环中求最大值while(i<j)
{if(height[i]<height[j]){i++;max_temp=(j-i)*min(height[j],height[i]);max_content=max(max_temp,max_content);}else{j--;max_temp=(j-i)*min(height[j],height[i]);max_content=max(max_temp,max_content);}
}
return max_content;}
};

小技巧

1.对撞双指针

int i=0;
int j=max_index;
//移动双指针直至相遇
while(i<j)
{...i++;...j--;
}

2.求最值

int max_res=0//定义最大值
int max_temp;//定义每步最大值
循环
{
操作;
更新max_temp;
max_res=max(max_temp,max_res);
}//最小值类似

LeetCode 11盛水最多的容器相关推荐

  1. LeetCode 11盛水最多的容器12整数转罗马数字

    目录 盛水最多的容器 题目描述 分析 整数转罗马数字 题目描述: 分析 结语 盛水最多的容器 公众号:bigsai,回复进群加入打卡,回复bigsai获取3GB的pdf资源.点赞再看,养成习惯! 题目 ...

  2. Leetcode题库 11.盛水最多的容器(双指针法 C实现)

    文章目录 解析 思路 原理 代码 写法1 写法2 解析 p_0:左"指针" p_1:右"指针" Area:当前双"指针"代表面积大小 ret ...

  3. 力扣:11盛水最多的容器

    class Solution:def maxArea(self, height: List[int]) -> int:i, j, res = 0, len(height) - 1, 0while ...

  4. Leecode刷题热题HOT100(11)——盛水最多的容器

  5. 力扣--盛水最多的容器

    题目: 给你 n 个非负整数 a1,a2,-,an,每个数代表坐标中的一个点 (i, ai) .在坐标内画 n 条垂直线,垂直线 i 的两个端点分别为 (i, ai) 和 (i, 0).找出其中的两条 ...

  6. LeetCode【11--盛水最多的容器】LeetCode【12 -- 整数转罗马数字】

    盛水最多的容器 题目描述 给定 n 个非负整数 a1,a2,-,an,每个数代表坐标中的一个点 (i, ai) .在坐标内画 n 条垂直线,垂直线 i 的两个端点分别为 (i, ai) 和 (i, 0 ...

  7. Container with most water(盛水最多的容器)

    Container with most water(盛水最多的容器) 简单的证明 如图 题目: 给定 n 个非负整数 a1,a2,-,an,每个数代表坐标中的一个点 (i, ai) .在坐标内画 n ...

  8. Leetcode:11.container-with-most-water(盛水最多的容器)

    一开始直接想用暴力法加剪枝擦边通过的,没想到还是超时了: 谁知道最后输入从1-15000一共15000个数据,吓坏! 题解中得知双指针实现O(n),真的学到了,羡慕这些大佬的智商: 借鉴大佬题解:对O ...

  9. 十一、盛水最多的容器

    题目:来源于LeetCode 给定一个长度为 n 的整数数组 height .有 n 条垂线,第 i 条线的两个端点是 (i, 0) 和 (i, height[i]) . 找出其中的两条线,使得它们与 ...

最新文章

  1. GitHub Draft Pull请求支持新的协作流程
  2. go struct{} 空结构体的特点和作用
  3. Java加密与解密的艺术~数字证书~证书使用keytool
  4. 宇宙的最原始状态是个什么样子
  5. [翻译]高阶Python一学就会
  6. 一张图让你搞懂DES与RSA混合加密技术
  7. js页面间通信方法实现
  8. JDK9API网盘下载
  9. Qt QLineedit 控件出发clicked信号问题
  10. 如何解决微软自带输入法突然变成繁体
  11. 奇异矩阵和非奇异矩阵 行列式矩阵简单理解 代数意义 几何意义 行列式的定义: 二阶行列式的几何意义: 三阶行列式的几何意义: 行列式化为对角形的几何解释: 二阶行列式乘积项的几何意
  12. 7种网络摄像机的设计方案,包含软硬件设计
  13. 用python编写AutoCAD插件日志
  14. DBMS_AW_EXP: BIN$XXXXXXX==$0 not AW$
  15. 单片机开发和嵌入式开发流程图
  16. 医院管理信息系统与临床信息系统
  17. GAN学习:一个简单的GAN搭建
  18. 3、Mybatis-Plus异常之There is no getter for property named ‘ew‘ in ‘class解决方案
  19. SLAM技术传统教学模式记录(转)
  20. 软通动力软件测试笔试题

热门文章

  1. Bailian4021 最大乘积【序列处理】
  2. POJ NOI0105-43 质因数分解
  3. 圆周率 π 的研究、π 的等式
  4. Python 波浪线与补码
  5. 【笔试/面试】—— Linux 查看 cpu 和内存使用情况
  6. windows dos 命令
  7. Python 标准库 —— urllib(下载进度)
  8. Python 数据结构与算法——快排
  9. 「晓松奇谈」——矮大紧语录
  10. 如何通过投掷一枚硬币产生各种概率