[双指针] 4. 力扣--盛最多水的容器

题目链接:

https://leetcode.cn/problems/container-with-most-water/

一. 题目描述


二. 解题思路

两指针相向而行,只需遍历一遍数组就能找出最大容积,因此时间复杂度是O(N)。边遍历边更新最大值。

三. 代码实现

cpp 复制代码
class Solution 
{
public:
    int maxArea(vector<int>& height) 
    {
        int left = 0, right = height.size()-1;
        int maxarea = 0;

        while(left < right)
        {
            // 更新最大值
            int area = min(height[left], height[right])*(right - left);
            if(maxarea < area)  maxarea = area;
            // 移动指向的元素小的指针
            if(height[left] < height[right]) left++;
            else right--;
        }
        return maxarea;
    }
};
相关推荐
happyprince12 小时前
篇1:整体观 · bitsandbytes项目全貌解读
人工智能·算法
青梅橘子皮12 小时前
STL---map/set... “家族“详解(从使用到底层)(1)
数据结构·算法
让学习成为一种生活方式13 小时前
DNA 甲基化综述(模式、调控与功能)--Current Opinion in Plant Biology
算法
-森屿安年-13 小时前
647. 回文子串
c++·算法·动态规划
皓月斯语13 小时前
P5736 【深基7.例2】质数筛
c++·算法·题解
极序时代GEO品牌优化15 小时前
杭州极序时代|面向地域、设备与用户画像的动态GEO
人工智能·python·算法·极序时代geo
啦啦啦啦啦zzzz15 小时前
贪心算法和动态规划
c++·算法·贪心算法·动态规划
雪碧聊技术15 小时前
力扣 72. 编辑距离——动态规划经典例题
算法·leetcode·动态规划
happyprince15 小时前
篇3:bitsandbytes-深刻观-哲学与升华
人工智能·算法
应用市场15 小时前
红绿灯背后的算法:从 Webster 配时到 Max-Pressure 与强化学习
算法