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

双指针:成最多水的容器

题目描述:整型数组存放“长方形”的宽,数组索引组成“长方形”长,求一个能装最多水的“长方形容器”。

输入:[1,8,6,2,5,4,8,3,7]
输出:49 


求解思路1:暴力解法。双层循环,length=j-i,width=Math.min(w1,w2)

时间复杂度:O(n^2)

空间复杂度:O(1)

class Solution {public int maxArea(int[] height) {int result = 0;// i确定长方形的左端for (int i = 0; i < height.length; i++) {// j确定长方形的右端for (int j = i + 1; j < height.length; j++) {int length = j - i;int width = Math.min(height[i], height[j]);int area = length * width;result = Math.max(result, area);}}return result;}
}

但是代码提交会超时


求解思路2:双指针

面积的计算公式是area=length*width;

  • 借用双指针,左指针在左端,右指针在右端,通过移动双指针来计算。
  • 在双指针确定时(即length确定),当前最大的容器面积是:cur_area(cur_max)=length*width(min)。省去其余比cur_area小的计算。
  • 遍历一遍计算所有的cur_area。然后在cur_area中找出最大面积。
class Solution {public int maxArea(int[] height) {// 长的左端int left = 0;// 长的右端int right = height.length - 1;int result = 0;while (left < right) {// 当前容器的最大长int curLength = right - left;// 当前容器的最大宽,盛水取决于最短板int curWidth = Math.min(height[left], height[right]);// 当前容器的最大值int curMaxArea = curLength * curWidth;// 记录大bossresult = Math.max(result, curMaxArea);// 循环的驱动,缩小范围,继续寻找if (height[left] < height[right]) {left++;} else {right--;}}return result;}
}

练习地址:11. 盛最多水的容器 - 力扣(LeetCode)

http://www.dtcms.com/a/347276.html

相关文章:

  • 使用 eventpp 构建跨 RT-Thread 与 ARM-Linux 的轻量级 Active Object(AO)事件驱动框架
  • AI Agent系列(十三) -智能体架构的真相
  • LoRA 微调
  • 探索 JUC:Java 并发编程的神奇世界
  • 单调栈详解
  • Vue环境组件node.js安装
  • C语言---数据类型
  • Qt中使用MySQL数据库
  • git实战(8)git高阶命令分析【结合使用场景】
  • ADC系统中的信噪比(SNR)
  • 容器安全实践(二):实践篇 - 从 `Dockerfile` 到 Pod 的权限深耕
  • 多模态医学图像融合:解锁顶会顶刊中的医学影像新视界
  • 【GaussDB】使用MySQL客户端连接到GaussDB的M-Compatibility数据库
  • 智慧零售漏扫率↓79%!陌讯多模态融合算法在智能收银与货架管理的实战解析
  • 【Linux】深度学习Linux下的包管理器yum/apt
  • Day22: Python涡轮增压计划:用C扩展榨干最后一丝性能!
  • 微前端架构常见框架
  • 深度学习之PyTorch框架(安装,手写数字识别)
  • pid自适应调节实战设计-基于输出电流的PI参数切换方案
  • deepseek应用技巧-MCP服务操作网页和文档
  • ESP32应用——UDP组播/广播(ESP-IDF框架)
  • AI 辅助编程完全新手指南 - 从零基础到高效协作
  • Java试题-选择题(15)
  • flink常见问题之超出文件描述符限制
  • frp v0.64.0 更新:开源内网穿透工具,最简洁教程
  • 生成一个256 点 Q15 正弦表,deepseek载了
  • TK 直播网络串流 通过VLC本地播放
  • 合合信息acge模型获C-MTEB第一,文本向量化迎来新突破
  • 数据库服务语句应用
  • Vmware虚拟机 处理器配置选项配置介绍