LeetCode 11

双指针解法:

首先分析题目,盛水的容量其于宽度与小的高度,先初始化两个指针分别在第一个与最后一个数(i,j)

如下:

我们可以分析发现,当heigthi为3时,我们移动j只会让宽度变小,所以i++,同理当i=1时,需要j--,当i=j时,遍历结束。

这样我们就省略了固定一个指针遍历其他指针的时间,时间复杂度降低到O(n)。

同时,记录每次的面积,最终取最大值。

代码:

cpp 复制代码
class Solution {
public:
    int maxArea(vector<int>& height) {
       int res=0;
       int i=0;
       int j=height.size()-1;
       while(i<j)
       {
        int area=(j-i)*min(height[i],height[j]);
        res=max(res,area);
        if(height[i]<height[j])
        {
            i++;
        }else{
            j--;
        }
       }
       return res;
    }
};
相关推荐
ra90fy3 分钟前
B3873 [GESP202309 六级] 小杨买饮料
c++·算法
Omics Pro12 分钟前
北理工李荣华:AI虚拟细胞证据多模态推理基准
数据库·人工智能·算法·机器学习·自然语言处理
Cccp.12314 分钟前
【leetcode】(九)哈希函数与哈希表
数据结构·leetcode·哈希算法
xieliyu.17 分钟前
LeetCode 1419 数青蛙:状态模拟求最少青蛙数量|Java 题解
java·算法·leetcode
acd1200919 分钟前
线上偶发 499 错误,并非后端服务异常
算法
Nil20824 分钟前
leetcode 45跳跃游戏Ⅱ
算法·leetcode·游戏
小蒋观天下41 分钟前
端侧大模型在安防摄像头部署实操(下篇)|模型量化、推理加速、视频接入与量产调优
大数据·人工智能·算法·安全·机器学习·计算机视觉·ai大模型
sinat_286945191 小时前
大模型推理:部署方式与性能优化思路
人工智能·算法·缓存·chatgpt·性能优化
longlongzihan1 小时前
LeetCode 283. 移动零:从辅助数组到双指针原地算法
c++·算法·leetcode
在所不辞兄1 小时前
【零基础学智能仿真-42】二维随机有限元实战——把随机材料场赋给网格单元
人工智能·深度学习·算法·机器学习·工程仿真