【算法】双指针(四)-盛最多水的容器

【算法】双指针(四)-盛最多水的容器

目录

一、题目介绍

二、算法原理

1.暴力枚举

1.1必然非结果情

1.1.1单调性、数

1.2不确情况

三、提交代码


一、题目介绍

11. 盛最多水的容器 - 力扣(LeetCode)

给定一个长度为 n 的整数数组 height 。有 n 条垂线,第 i 条线的两个端点是 (i, 0) 和 (i, height[i]) 。

找出其中的两条线,使得它们与 x 轴共同构成的容器可以容纳最多的水。

返回容器可以储存的最大水量。

说明:你不能倾斜容器。

示例 1:

输入:[1,8,6,2,5,4,8,3,7] 输出:49 解释:图中垂直线代表输入数组 [1,8,6,2,5,4,8,3,7]。在此情况下,容器能够容纳水(表示为蓝色部分)的最大值为 49。

示例 2:

输入:height = [1,1] 输出:1

提示:

  • n == height.length
  • 2 <= n <= 105
  • 0 <= height[i] <= 104

二、算法原理1.暴力枚举抽象出 普适的 来看暴力

暴力枚举 所有要算的情况中,分出 必然非结果不确 两种情况:

必然非结果情况 与 不确情况 杂交混着 排掉点算1.1排必然非结果情况

边排掉 能必然非结果情况 不算地1.1.1单调性、数基

用单调性按数基地排 必然非结果



1.2算不确情况

边出着 不确情况 续逮着点算

三、提交代码

public int maxArea(int[] height) { int left = 0, right = height.length - 1, ret = 0; while (left < right) { int v = Math.min(height[left],height[right]) * (right - left); if(v > ret) ret = v; if(height[left] < height[right]) left++; else if(height[left] > height[right]) right--; else { left++; right--; } } return ret; }

Read more

AutoGPT+Python:让AI智能体自动完成复杂任务的终极指南

AutoGPT+Python:让AI智能体自动完成复杂任务的终极指南

AutoGPT+Python:让AI智能体自动完成复杂任务的终极指南 引言:在人工智能迈向自主化的新阶段,AutoGPT作为基于大语言模型(LLM)的自主智能体代表,正掀起一场让AI自己思考、自主执行的技术革命。当它遇上Python的全栈生态与极致灵活性,开发者不再只是调用AI接口,而是能深度定制专属智能体——让AI听懂自然语言、拆解复杂目标、调用外部工具、联网检索信息、迭代优化结果,独立完成从市场调研、内容创作、代码开发到自动化运维的全流程任务。 本文从核心原理、本地部署、Python实战、插件扩展、生产优化五大维度,手把手带你从0到1搭建可落地、可监控、可进化的AI智能体系统,不管是AI爱好者、全栈开发者还是创业者,都能靠这份指南,掌握下一代人机协作的核心生产力。 一、先搞懂:AutoGPT到底是什么? 传统ChatGPT类模型是被动应答,你问一句它答一句,需要人工一步步引导;而AutoGPT是自主智能体,你只给它一个最终目标,它就能自己完成: * 任务拆解:把复杂目标拆成可执行子步骤 * 自主决策:判断下一步该做什么、调用什么工具 * 记忆管理:短期记忆存上下文

By Ne0inhk
基于SSM 高校后勤管理系统 的设计与实现--(免费领源码)可做计算机毕业设计JAVA、PHP、爬虫、APP、小程序、C# 、C++、python、大数据、全套文案

基于SSM 高校后勤管理系统 的设计与实现--(免费领源码)可做计算机毕业设计JAVA、PHP、爬虫、APP、小程序、C# 、C++、python、大数据、全套文案

SSM 高校后勤管理系统 摘 要 科技进步的飞速发展引起人们日常生活的巨大变化,电子信息技术的飞速发展使得电子信息技术的各个领域的应用水平得到普及和应用。信息时代的到来已成为不可阻挡的时尚潮流,人类发展的历史正进入一个新时代。在现实运用中,应用软件的工作规则和开发步骤,采用Java技术建设高校后勤管理系统。 本设计主要实现集人性化、高效率、便捷等优点于一身的高校后勤管理系统,完成用户管理、故障报修、公寓信息、食堂管理、基础设施、校园环境、校医院信息等功能模块。系统通过浏览器与服务器进行通信,实现数据的交互与变更。本系统通过科学的管理方式、便捷的服务提高了工作效率,减少了数据存储上的错误和遗漏。高校后勤管理系统使用Java语言,基于B/S架构,后端部分采用SSM 框架 进行开发,数据方面主要采用的是微软的MySQL关系型数据库来作为数据存储媒介。 关键词:高校后勤管理;SSM 框架 ;B/S架构;MySQL数据库 SSM University Logistics Management System Abstract The rapid development o

By Ne0inhk

如何用Memphis.dev构建生产级消息代理系统:后端开发者的完整指南

如何用Memphis.dev构建生产级消息代理系统:后端开发者的完整指南 【免费下载链接】memphisMemphis.dev is a highly scalable and effortless data streaming platform 项目地址: https://gitcode.com/gh_mirrors/me/memphis Memphis.dev是一个专为后端开发者设计的高度可扩展、简单易用的数据流平台,能够在3分钟内构建生产就绪的消息代理系统。作为开源的数据流平台,Memphis.dev让事件驱动和实时功能的开发变得前所未有的简单和高效。 🚀 为什么选择Memphis.dev? 在传统架构中,大规模处理事件流需要数月时间才能落地,这通常是大型企业才具备的能力。Memphis.dev打破了这一壁垒,让80%的中小团队也能快速构建强大的数据流处理能力。 核心优势: * 3分钟快速部署 - 生产就绪的消息代理 * 完整的数据层可观测性 - 实时监控数据流动 * 嵌入式Schema管理 - 支持Protobuf、JSON、

By Ne0inhk
2025年12月GESPC++四级真题解析(含视频)

2025年12月GESPC++四级真题解析(含视频)

视频讲解:GESP2025年12月四级C++真题讲解 一、单选题 第1题 解析: 答案C,创建指针 " int *p "。获取x变量的地址  " &x " 第2题 解析: 答案C, int a = 5; //a变量存储5 int* p1 = &a; //创建指针p1 存储 变量a地址 int* p2 = p1; //创建指针p2 存储 指针p1的地址 (即p2的地址也是a变量的地址) *p2 = 10; //指针p2的地址存储 10 (即修改a变量为10) 第3题 解析: 答案B,下标从0开始,即2行3列 为

By Ne0inhk