(C++)盛水最多的容器--双指针法

个人主页:Lei宝啊

愿所有美好如期而遇


力扣(LeetCode)官网 - 全球极客挚爱的技术成长平台备战技术面试?力扣提供海量技术面试资源,帮助你高效提升编程技能,轻松拿下世界 IT 名企 Dream Offer。https://leetcode.cn/problems/container-with-most-water/

算法原理

双指针法,不一定是说就要使用指针,只是一种形象的说法,在数组中,我们一般将数组下标当做指针。这道题目中,我们定义left以及right,left赋值0,right赋值size-1,我们图示分析这道题目:

图示

代码

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

        int maxV = 0;
        while(right != left)
        {
            int h = height[right] > height[left] ? height[left] : height[right];
            int w = right - left;

            int V = h * w;
            if(V > maxV)
                maxV = V;

            if(height[right] >= height[left])
            {
                left++;
            }
            else
            {
                right--;
            }
        }

        return maxV;
    }
};
相关推荐
郝学胜-神的一滴26 分钟前
[简化版 GAMES 101] 计算机图形学 04:二维变换上
c++·算法·unity·godot·图形渲染·unreal engine·cesium
ZC跨境爬虫26 分钟前
海南大学交友平台开发实战day7(实现核心匹配算法+解决JSON请求报错问题)
前端·python·算法·html·json
来日可期131428 分钟前
C/C++ 反常识记录(1)—— 那些容易踩坑的语法细节
c语言·开发语言·c++
计算机安禾31 分钟前
【数据结构与算法】第41篇:图论(五):拓扑排序与关键路径
c语言·数据结构·c++·算法·图论·visual studio
Q741_14734 分钟前
每日一题 力扣 1320. 二指输入的的最小距离 动态规划 C++ 题解
c++·算法·leetcode·动态规划
实心儿儿35 分钟前
C++ —— C++11(2)
开发语言·c++
加油JIAX36 分钟前
C++11特性
c++
wfbcg42 分钟前
每日算法练习:LeetCode 76. 最小覆盖子串 ✅
算法·leetcode·职场和发展
Wect1 小时前
LeetCode 149. 直线上最多的点数:题解深度剖析
前端·算法·typescript
qianpeng8971 小时前
运动声源的到达结构仿真
算法