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

【LeetCode100】--- 5.盛水最多的容器【复习回顾】

题目传送门

方法一:使用双指针

算法思想:
1.双指针算法,从两边依次向中间靠拢
2.计算较小的数(高度)与宽度(两指针作差)的乘积(面积)
3.使用临时变量将当前面积存储 依次遍历更新,直到找到最大的面积

class Solution {public int maxArea(int[] height) {int n = height.length;int left = 0,right = n-1;int max = 0,curMax = 0;while(left < right){if(height[left] < height[right]){curMax = height[left] * (right - left);left++;}else{curMax = height[right] * (right - left);right--;}max = Math.max(max,curMax);}return max;}
}

算法思维导图 

复杂度分析:

时间复杂度:O(n),算法使用双指针从数组两端向中间遍历,每次移动一个指针,直到两指针相遇。整个过程中,每个元素仅被访问一次,因此时间复杂度为线性时间。

空间复杂度:O(1),只用到了常数个临时变量。

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

相关文章:

  • ssm学习笔记day05
  • QT 多线程 管理串口
  • 《[系统底层攻坚] 张冬〈大话存储终极版〉精读计划启动——存储架构原理深度拆解之旅》-系统性学习笔记(适合小白与IT工作人员)
  • springboot高校竞赛赛事管理系统 计算机毕业设计源码23756
  • Java行为型模式---策略模式
  • 第1章 概 述
  • dll文件缺失解决方法
  • C++——static成员
  • HiPPO: Recurrent Memory with Optimal Polynomial Projections论文精读(逐段解析)
  • QT控件命名简写
  • Linux内核高效之道:Slab分配器与task_struct缓存管理
  • 编译器优化——LLVM IR,零基础入门
  • 学习C++、QT---23(QT中QFileDialog库实现文件选择框打开、保存讲解)
  • 7月13日日记
  • 时间管理四象限理论
  • 小白学Python,操作文件和文件夹
  • 阶段性渗透总结
  • 第五章 Python手写数字识别【CNN卷积神经网络实现】
  • Windows怎样同步时间服务器?
  • 最简约的Windows多标签页文件管理器推荐 - 360文件夹 - 免费开源绿色软件推荐
  • Lucene原理
  • Android自定义View的事件分发流程
  • (33)记录描述窗体组件属性的枚举量 enum Qt :: WidgetAttribute, 简记为 WA_
  • Java结构型模式---外观模式
  • 和 *,以及 -> 和 .
  • C语言基础知识--柔性数组
  • 串口学习和蓝牙通信HC05(第八天)
  • LlamaIndex 检索器 Retriever
  • 题目V^V
  • 008_Claude_Code开发工具