news 2026/5/11 9:38:44

盛水最多的容器(滑动窗口 双指针)

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
盛水最多的容器(滑动窗口 双指针)

这道题当然可以暴力求解,O(N^2),但是有时候并不会通过,因此要想一个时间复杂度为O(N)的方法。如果说用滑动窗口肯定会有人会有疑问,这怎么用?下面直接说解法:

首先left与right分别指向数组的两边,计算当前矩形面积大小记录,哪一个对应的值小,哪个向中间移动,记录当前矩形面积,更新最大矩形面积,以此类推。

那么如何证明这种贪心性的正确性呢?

假设初始状态下,右指针left对应数组数字为x与左指针right对应y,left<right,并且有x<=y,那么这时矩形面积由min(x,y)*(right-left)得出,如果我们不动left,而是让右指针向左移动,无论怎么都不可能使得新矩形面积大于现在的面积,所以要让较小的left向中间移动。此时问题的规模减小1,又变成了新的问题。直到问题规模减为0。相当于是从一堆极值(每一个规模中)中找到一个最大值!

class Solution { public: int maxArea(vector<int>& height) { int max=0; int left=0; int right=height.size()-1; int cur; while(left<right){ cur=min(height[left],height[right])*(right-left); max=max>cur?max:cur; if(height[left]<height[right]) left++; else right--; } return max; } };
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/5/11 1:16:49

智能零碳管理系统功能与实现

智能零碳管理系统旨在帮助企业有效管理和监控其碳排放&#xff0c;同时为公众用户提供有用的碳排放信息和咨询服务。本文将详细介绍该系统的功能模块与Django模型代码的实现。一、系统角色与权限总结 1. 管理员 审核企业碳排放数据&#xff08;可设置不合格提醒&#xff09; 发…

作者头像 李华
网站建设 2026/5/11 1:16:50

你是否正在经历这些知识管理的 “隐形内耗”?​

技术文档散落在语雀、GitHub、本地硬盘&#xff0c;新员工入职像 “寻宝”&#xff1b;写一份部署手册要熬 4 小时&#xff0c;修改迭代还要跨平台同步&#xff1b;搜索 “token 过期解决方案”&#xff0c;返回几十篇无关文档&#xff0c;翻半天找不到重点&#xff1b;敏感数据…

作者头像 李华
网站建设 2026/5/11 1:17:21

快速排序(Quick Sort)的“死穴”

快速排序&#xff08;Quick Sort&#xff09;的“死穴”&#xff0c;也就是它的最坏情况。简单来说&#xff0c;它的意思是&#xff1a;如果你运气不好&#xff0c;选的基准值&#xff08;Pivot&#xff09;太极端&#xff0c;快速排序就会变得非常慢&#xff0c;慢得像冒泡排序…

作者头像 李华
网站建设 2026/5/10 12:48:49

25、技术探索:Google App Engine、Zenoss与Python包管理

技术探索:Google App Engine、Zenoss与Python包管理 一、Google App Engine数据查询与路由 在Google App Engine开发中,数据查询与路由是重要的环节。以下是一段用于从数据存储中获取最后10条记录并进行处理的代码: collection = [] #grab last 10 records from datasto…

作者头像 李华
网站建设 2026/5/10 15:07:36

每日一练:流星雨

题目描述贝西听说一场非凡的流星雨即将来临&#xff1b;报告称这些流星将撞击地球并摧毁它们所碰到的任何东西。为了安全&#xff0c;她发誓要找到一个安全的位置&#xff08;一个从未被流星摧毁的地方&#xff09;。她目前在坐标平面的原点放牧&#xff0c;想要移动到一个新的…

作者头像 李华
网站建设 2026/5/11 2:21:05

21、SNMP网络管理与数据中心发现实战

SNMP网络管理与数据中心发现实战 1. 配置Net - SNMP 当你要在想要监控的客户端上安装Net - SNMP时,应使用主机资源MIB(Management Information Base,管理信息库)来编译Net - SNMP。具体操作步骤如下: ./configure -with-mib-modules=host运行 configure 时,它会尝试…

作者头像 李华