当前位置: 首页 > news >正文

LeetCode 11 - 盛最多水的容器

思路

容器面积由 宽度短板高度 决定。最优解一定藏在不断收窄宽度的过程中。

  1. 初始化left 指针在数组头部,right 指针在尾部。这是最宽的可能。
  2. 移动策略:比较 height[left]height[right]
    • 面积受限于短板。若移动长板,宽度变小,高度不变(或变小),面积必然减小。
    • 因此,必须移动短板对应的指针。这虽然牺牲了宽度,但给了我们寻找更高板子的机会,面积才有可能增大。
  3. 迭代:循环此过程,持续更新最大面积,直到两指针相遇。
C++ 代码实现
class Solution {
public:int maxArea(vector<int>& height) {int left = 0;int right = height.size() - 1;int maxArea = 0;while (left < right) {int currentArea = min(height[left], height[right]) * (right - left);maxArea = max(maxArea, currentArea);if (height[left] < height[right]) {left++;} else {right--;}}return maxArea;}
};
复杂度
  • 时间复杂度: O(n)leftright 指针总共只会遍历数组一次。
  • 空间复杂度: O(1),仅使用常数个变量。
http://www.dtcms.com/a/304433.html

相关文章:

  • 力扣面试150(43/150)
  • 3D 网上展厅,到底是什么?​
  • Radash.js 现代化JavaScript实用工具库详解 – 轻量级Lodash替代方案
  • 如何在Windows操作系统上通过conda 安装 MDAnalysis
  • TDengine 中 TDgpt 异常检测的数据密度算法
  • Qt小技巧 QStandardPaths详解
  • 【机器学习深度学习】DeepSpeed框架:高效分布式训练的开源利器
  • 车载诊断架构 --- 关于诊断时间参数P4的浅析
  • 【Spring Boot 快速入门】三、分层解耦
  • XGBoost分类预测+特征贡献SHAP分析,通过特征贡献分析增强模型透明度,Matlab代码实现,引入SHAP方法打破黑箱限制,提供全局及局部双重解释视角
  • 机器学习 线性回归算法及案例实现
  • RESTful API开发指南:使用Spring Boot构建企业级接口
  • x86_64汇编
  • 微信小程序私密消息
  • 实习日志111
  • ElementUI表格 el-table实现自动循环滚动
  • Rust:高效错误处理工具 anyhow
  • 大文档免费翻译方法分享
  • AbMole小课堂丨Blasticidin S(杀稻瘟菌素S)在构建稳转株、抗肿瘤、抗植物病害的跨界应用
  • 6、微服务架构常用十种设计模式
  • 随缘玩 一: 代理模式
  • 算法导论核心代码精粹
  • USRP X440 和USRP X410 直接RF采样架构的优势
  • 【51单片机静态1位数码管显示按键倒计时控制蜂鸣器】2022-9-28
  • Wndows Docker Desktop-Unexpected WSL error
  • AUTOSAR Mcal Dio - 模块介绍 + EB配置工具介绍
  • 【开源项目】轻量加速利器 HubProxy 自建 Docker、GitHub 下载加速服务
  • Doris中文检索效果调优
  • 自组织遗传算法(Self-Organizing Genetic Algorithm, SOGA)求解Rastrigin函数优化问题
  • 【Rust并发集合】如何在多线程中并发安全地使用集合