题目:

给你 n 个非负整数 a1,a2,…,an,每个数代表坐标中的一个点 (i, ai) 。在坐标内画 n 条垂直线,垂直线 i 的两个端点分别为 (i, ai) 和 (i, 0)。找出其中的两条线,使得它们与 x 轴共同构成的容器可以容纳最多的水。

说明:

你不能倾斜容器,且 n 的值至少为 2。

下面看下代码:

#include<iostream>
#include<string>
#include<vector>
#include<map>
#include<utility>using namespace std;
//盛水最多的容器[双指针法]class Solution {
public:int maxArea(vector<int>& height) {int i = 0;//数组总长int r = height.size() - 1;//存储水的面积int ans = 0;while (i < r) {int area = min(height[i], height[r]) * (r - i);ans = max(ans, area);if (height[i] <= height[r]) {++i;}else {--r;}}return ans;}
};int main(){vector<int> vec = {1, 8, 6, 2, 5, 4, 8, 3, 7};Solution so;int num = so.maxArea(vec);cout << num << endl;return 0;
}

编译打印:49

思路:两个指针分别指向数组首尾,求出盛水面积。然后比较两个指针对应的值大小,值小的先移动。因为算面积以值小的那边为主,这样遍历完找出最大值。

参考地址:https://leetcode-cn.com/problems/container-with-most-water/solution/sheng-zui-duo-shui-de-rong-qi-by-leetcode-solution/

力扣--盛水最多的容器相关推荐

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

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

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

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

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

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

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

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

  5. LeetCode 11盛水最多的容器

    力扣 解释:给定数组nums,求Max( min(nums[i],nums[j])*(j-i) ), 0<=i<j<nums.size() 目录 双指针 简单证明: 小技巧 1.对撞 ...

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

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

  7. leecode11 盛水最多的容器

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

  8. Leetcode--11. 盛水最多的容器

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

  9. 牛客在线编程101-93 盛水最多的容器

    描述 给定一个数组height,长度为n,每个数代表坐标轴中的一个点的高度,height[i]是在第i点的高度,请问,从中选2个高度与x轴组成的容器最多能容纳多少水 1.你不能倾斜容器 2.当n小于2 ...

最新文章

  1. 初识Kubernetes(K8s):理论基础
  2. vue后台增删改查_Vue 原生实现商城购物车增删改查
  3. 2556. [NOIP2016]玩具谜题
  4. 给Apache虚拟主机增加端口的方法
  5. 在虚拟机上安装XP系统
  6. Google论文解读:轻量化卷积神经网络MobileNetV2 | PaperDaily #38
  7. 我理解的HBSE应用场景(交流篇)
  8. U-Boot源码目录分析(VScode工程创建及文件夹过滤)
  9. Java中的反射和Java中的访问修饰符
  10. java使用websocket,并且获取HttpSession,源码分析
  11. java的finalize方法使用
  12. STK航空仿真(五):坐标系
  13. 极验验证码(6.0.9)破解(一) 之 抓包分析
  14. 调研 微信小程序客服功能
  15. 计算机画大熊猫教案,大班美术画大熊猫教案
  16. react.createContext
  17. HiC-Pro | HiC数据处理工具
  18. 读Zepto源码之Deferred模块
  19. 记一次失败的尝试--ubuntu下把笔记本无线网卡的驱动替换掉
  20. 使用asp.net从零开始制作设计网站---转载

热门文章

  1. [bzoj2815] [洛谷P2597] [ZJOI2012] 灾难
  2. Python之创建tuple
  3. IOS-Core Data的使用
  4. atitit.软件开发方法总结O6
  5. Delegate,Action,Func,匿名方法,匿名委托,事件 (转载)
  6. C++ main函数中参数argc和argv含义及用法( argument count和 argument vector)
  7. 你必须知道如何回答的五大计算机安全问题!
  8. ReactNative windows下打包生成安卓apk
  9. Windows 7的使用技巧或功能经典20条
  10. DBA巡检常用的SQL语句