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

【Swift】LeetCode 11. 盛最多水的容器

11. 盛最多水的容器

在这里插入图片描述

题目描述

请添加图片描述

思路 and Swift 题解

经典的左右双指针问题,思路也非常简单。

首先,我们需要声明两个指针,也就是左指针left和右指针rightleft指向0,而right指向height.count - 1。之后,我们不断向中间移动这两个指针,如果height[left] > height[right],则移动右指针;否则移动左指针。这样做的原因是,每次盛水时具有“短板效应”,因此盛水最多的高度是height[left]height[right]当中的较小者,如果想要找到更大的高度,需要向中间移动指针。

在每次移动指针之前,记录一次答案,当前盛水的容积就是左右指针以及二者高度较小者构成的矩形的面积。

完整的 Swift 题解是:

class Solution {func maxArea(_ height: [Int]) -> Int {var left = 0, right = height.count - 1var ans = 0while left < right {ans = max(ans, min(height[left], height[right]) * (right - left))if height[left] > height[right] {right -= 1} else {left += 1}}return ans}
}
http://www.dtcms.com/a/473643.html

相关文章:

  • 设计模式之 享元模式 Flyweight
  • 智械觉醒当AI开始思考“我是谁”
  • 商河 网站建设公司网站的具体的建设方案
  • 湖南省网站备案婚纱摄影网站应该如何做优化
  • pytest学习
  • seo网站建设厦门百度广告代理商查询
  • 【全连接神经网络】基本原理
  • Go 异步编程
  • 基于贪心最小化包围盒策略的布阵算法
  • 《Python 异步数据库访问全景解析:从阻塞陷阱到高性能实践》
  • AI 自己造“乐高积木”:生成式 AI 设计可拼装模块化硬件的实战笔记
  • 10.11笔记
  • 冒泡排序的多种实现方式详解
  • 网页设计平面设计温州网站优化页面
  • 特别分享:聊聊Git
  • M|蝙蝠侠:侠影之谜
  • crawl4ai智能爬虫(一):playwright爬虫框架详解
  • 探究Java、C语言、Python、PHP、C#与C++在多线程编程中的核心差异与应用场景
  • 国外网站模板网站建设ui培训班好
  • 瑞安建设公司网站旅游网站系统的设计与实现
  • MongoDB-基本介绍(一)基本概念、特点、适用场景、技术选型
  • 国产之光金仓数据库,真能平替MongoDB?实测来了!
  • 网站开发需要学什么语言wordpress所有栏目循环输出
  • 低代码革命:拖拽式界面生成器与API网关的深度集成
  • “事件风暴 → 上下文映射 → 模块化”在 ABP vNext 的全链路模板
  • 如何在Linux服务器上部署jenkins?
  • 2.1 阵列信号处理基础
  • Centos7下docker的jenkins下载并配置jdk与maven
  • 网络数据侦探:抓包工具在爬虫开发中的艺术与科学
  • 手搓docker - 实现篇