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

算法之二维装水问题

目录

  • 1. 题目
  • 2. 解释
  • 3. 思路
  • 4. 代码
  • 5. 总结

1. 题目

给定一个数组arr,已知其中所有的值都是非负的,将这个数组看作一个容器,请返回容器能装多少水
比如,arr = {3,1,2,5,2,4}根据值画出的直方图就是容器形状,该容器能装下5格水。
在这里插入图片描述

2. 解释

无需解释很简单。

3. 思路

很简单,我们只考虑第 i 位置能盛的水,这个位置的水怎么求呢?我们取其左侧最大和右侧最大中较小的值,减去这个位置高度就是这个位置的能盛水的量。
i 位置的水量 = m a x { ∣ 左侧最大与右侧最大取较小 ∣ − { i } , 0 } i位置的水量 = max\{|左侧最大与右侧最大取较小| - \{i\} , 0\} i位置的水量=max{左侧最大与右侧最大取较小{i},0}
我们有什么方法来求呢?
我们弄俩数组,一个求左侧最大,一个求右侧最大,完了直接相减进行比较,就得到了。

4. 代码

5. 总结

简简单单

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

相关文章:

  • 哈尔滨服务器租用的流程
  • SpringMVC学习(controller层加载控制与(业务、功能)bean加载控制、Web容器初始化配置类)(3)
  • ConcurrentHashMap实现原理
  • nginx基础http基础
  • ReentrantLock源码解析
  • PXE批量安装服务器
  • 微信小程序注册组件
  • python-leetcode-组合总和 Ⅳ
  • JDK ZOOKEEPER KAFKA安装
  • LeetCode 前缀和章节
  • uniapp或者vue 使用serialport
  • HTML第四节
  • java中实体类常见的设计模式
  • std::string的模拟实现
  • 基于混合蝴蝶粒子群算法 粒子群算法 蝴蝶算法实现无人机复杂山地环境下航迹规划附matlab代码
  • 《Linux C 智能 IO 矩阵:输入输出的自适应数据流转》
  • 如何设置爬虫的User-Agent?
  • 顺序表的插入、删除
  • 5分钟速览深度学习经典论文 —— attention is all you need
  • [AI相关]--可能不是0基础,但是很快解决c4d导出unity英雄联盟Lol模型问题
  • [记录与分享]如何保持充足的能量
  • Go学习笔记:Gin-路由
  • 3-9 WPS JS宏单元格复制、重定位应用(拆分单表到多表)
  • Next.js项目实战-ai助手帮我写文章发布视频第1节(共89节)
  • JavaScript 正则表达式全面指南
  • HDFS的设计架构
  • 网络安全审计 主要包括哪些内容
  • 树莓派学习(一)——3B+环境配置与多用户管理及编程实践
  • 大型语言模型训练的三个阶段:Pre-Train、Instruction Fine-tuning、RLHF (PPO / DPO / GRPO)
  • /dev/console文件详解