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

[盛最多水的容器]

在这里插入图片描述

思路分析

使用 双指针法 解决了 “盛最多水的容器” 问题,目标是找到两条垂直线,使得它们与 x 轴构成的容器能容纳最多的水。

1. 初始化
int max = 0;          // 记录当前最大容量
int left = 0;         // 左指针(起始位置)
int right = n - 1;    // 右指针(末尾位置)
  • 变量作用
    • max:动态更新最大容量。
    • leftright:分别从数组的两端向中间移动。
2. 双指针移动逻辑
while (left < right) {// 计算当前容量并更新最大值if (min(height[left], height[right]) * (right - left) > max) {max = min(height[left], height[right]) * (right - left);}// 移动指针if (height[left] < height[right]) {left++;} else {right--;}
}
  • 容量计算
    • 当前容量 = min(height[left], height[right]) * (right - left)
      • 高度由较短的一边决定(木桶效应)。
      • 宽度为 right - left
  • 指针移动规则
    • 谁短移动谁
      • 如果 height[left] < height[right],则 left++(试图找到更高的左边界)。
      • 否则 right--(试图找到更高的右边界)。
class Solution {
public:int maxArea(vector<int>& height) {int max=0;int n=height.size();int left=0;int right=n-1;while(left<right){if(min(height[left],height[right])*(right-left)>max){max=min(height[left],height[right])*(right-left);}if(height[left]<height[right]){left++;}else{right--;}}return max;}
};
http://www.lryc.cn/news/613199.html

相关文章:

  • 【关于Java中==和equals( )和hashCode( )三者异同】
  • Java中接口与抽象类
  • 国内使用 npm 时配置镜像源
  • 2025年 IT 服务管理(ITSM)工具市场分析:选型逻辑与企业适配趋势报告
  • Spring Cloud系列—LoadBalance负载均衡
  • 边缘算力×AI应用:如何在2025年实现爆发式增长
  • 酉矩阵(Unitary Matrix)和随机矩阵
  • “认知裂缝边缘”地带
  • PyTorch LSTM文本生成
  • 基于深度学习的污水新冠RNA测序数据分析系统
  • 进程Linux
  • TSMaster-C小程序使用
  • 深度学习之opencv篇
  • change和watch
  • GPT-5 将在周五凌晨1点正式发布,王炸模型将免费使用??
  • 16.Home-懒加载指令优化
  • [C++20]协程:语义、调度与异步 | Reactor 模式
  • 在 Linux 系统上安装 Docker 的步骤如下(以 Ubuntu/Debian为例)
  • 深度学习(1):pytorch
  • Android-Kotlin基础(Jetpack②-Data Binding)
  • 内存杀手机器:TensorFlow Lite + Spring Boot移动端模型服务深度优化方案
  • Bosco-and-Mancuso Filter for CFA Image Denoising
  • python函数--python010
  • Java NIO 核心原理与秋招高频面试题解析
  • MySQL 极简安装挑战:跨平台高效部署指南
  • 大数据中需要知道的监控页面端口号都有哪些
  • 【unity知识】unity使用AABB(轴对齐包围盒)和OBB(定向包围盒)优化碰撞检测
  • 单词的划分(动态规划)
  • OpenCV 图像处理基础操作指南(一)
  • 非化学冷却塔水处理解决方案:绿色工业时代的革新引擎