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

leetcode 11.盛最多水的容器

题目描述 跳转到leetocde题目

给定一个长度为 n 的整数数组 height 。有 n 条垂线,第 i 条线的两个端点是 (i, 0) 和 (i, height[i]) 。
找出其中的两条线,使得它们与 x 轴共同构成的容器可以容纳最多的水。
返回容器可以储存的最大水量。
说明:不能倾斜容器。
在这里插入图片描述

来源:力扣(LeetCode)
链接:https://leetcode.cn/problems/container-with-most-water
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。

分析题目

该题目说白了就是求 两元素的间隔*最小元素 的值

  1. 暴力解法, 双循环该数组height, 依次比较哪两个数的乘积最大
class Solution {public int maxArea(int[] height) {int max = -1;for(int i = 0; i< height.length - 1; i++){for(int j = i+1; j< height.length; j++){max = (j-i) * Math.min(height[i], height[j]) > max ? (j-i) * Math.min(height[i], height[j]): max;}}return max;}
}

结果 超出时间限制!,回过头来看代码该解法的时间复杂度是O(n的平方)
在这里插入图片描述
2. 优化代码
双指针方法:。具体思路是从数组两端开始向中间靠拢,哪一侧的高度低就驱使指针向内移动,直到两指针相遇,期间每次都计算当前区域面积和最大面积比较,取较大值返回即可。

class Solution {public int maxArea(int[] height) {// 双指针方法减少时间复杂度int max = -1;// 定义左右指针int left = 0, right = height.length - 1;// 遍历数组while(left <= right){max = Math.min(height[left], height[right])*(right-left) > max ? Math.min(height[left], height[right])  * (right-left) : max;if(height[left] < height[right]) {left++;}else{right--;}}return max;}
}

最后成功啦!在这里插入图片描述

http://www.lryc.cn/news/90650.html

相关文章:

  • 都说00后已经躺平了,但是有一说一,该卷的还是卷啊。
  • 牛客网刷题学习SQL(二)
  • 深蓝学院 C++笔记 先导篇章 - 绪论
  • R7-19 天梯赛团队总分
  • 使用 Kotlin 的 Opt-in (选择加入)功能注解API提示当前非稳定API
  • webpack配置排除打包
  • HNU-操作系统OS-ucoreLab系列-感悟
  • MySQL运维篇(三)
  • Lecture 2 Text Preprocessing
  • web练习第二周
  • LC-1439. 有序矩阵中的第 k 个最小数组和(二分答案、多路归并)
  • 一文1000字从0到1实现Jenkins+Allure+Pytest的持续集成
  • 给一个有序数组生成平衡搜索二叉树(java)
  • 【JavaSE】Java基础语法(二十二):包装类
  • javascript基础十八:说说你对JavaScript中事件循环的理解​
  • 详解js中的浅拷贝与深拷贝
  • Day9 敏捷测试——敏捷开发的特征、什么是敏捷测试?、极限编程、极限测试
  • k8s 维护node与驱逐pod
  • SouapUI接口测试之创建性能测试
  • springboot整合kafka入门
  • Rust 笔记:Rust 语言中的字符串
  • 华为OD机试真题 Java 实现【将真分数分解为埃及分数】【牛客练习题】
  • Zemax Lumerical | 二维光栅出瞳扩展系统优化
  • Linux-0.11 文件系统read_write.c详解
  • 什么是用户态和内核态?用户态切换内核态会有什么影响?
  • 探索iOS之CoreImage框架
  • qml 使用Shape 画图形
  • MySQL数据库修改root账户密码
  • 基于springboot+Vue+ Element-Plus+mysql实现学生宿舍管理系统
  • 中国人才选拔制度演变