华为OD机试真题-水库蓄水 【2023.Q1】

题目内容

山脉间建一个天热蓄水库,如何选取水库边界,使蓄水量最大?
要求:

    山脉用正整数数组s表示,每个元素代表山脉的高度。
    选取山脉上两个点作为蓄水库的边界,则边界内的区域可以蓄水,蓄水量需排除山脉占用的空间
    蓄水量的高度为两边界的最小值。
    如果出现多个满足条件的边界,应选取距离最近的一组边界。

给定一个长度为 n 的整数数组 height 。数组的元素表示山的高度,选择两个元素作为水库的边界,求蓄水量的最大值并输出蓄水量最大时的边界下标(蓄水量相同时输出下标较近的)。

输入:

1 8 6 2 5 4 8 3 7

输出:

1 6:15

说明:蓄水量的最大值为 15

蓄水量最大时的边界下标为1 和 6

解题思路

设两指针 i,j,指向的水槽板高度分别为h[j],h[j],此状态下水槽面积为S(i,j)。由于可容纳的水的高度由h[j],h[j]中最短的决定,因此可以得到如下公式
在这里插入图片描述

华为OD真题 Python语言】207、天然蓄水库 | 真题+思路参考+代码分析 公元2919年,人类终于发现了一颗宜居星球一X星 现想在X星一片连绵起伏的山脉间建一个天热蓄水库,如何选取水库边界,使蓄水量最大?   要求: ● 山脉用正整数数组s表示,每个元素代表山脉的高度   ● 选取山脉上两个点作为蓄水库的边界,则边界内的区域可以蓄水蓄水需排除山脉占用的空间   ● 蓄水量的高度为两边界的最小值   ● 如果出现多个满足条件的边界,应选取距离最近的一组边界   输出边界下标(从0开始) 和最大蓄水量;如果无法蓄水,则返回0,此时不 阅读详情

相关推荐

华为OD - 天然蓄水库(C++ Java JavaScript Python )

设两指针 i , j,指向的水槽板高度分别为 h[i] , h[j] ,此状态下水槽面积为 S(i, j)。例如,当山脉为s=[3,1,2]时,则选取s[0]和s[2]作为水库边界,则蓄水量为1,此时输出:0 2:1。若向内 移动长板 ,水槽的短板 min(h[i], h[j])不变或变小,因此下个水槽的面积 一定变小。若向内 移动短板 ,水槽的短板 min(h[i], h[j])可能变大,因此下个水槽的面积 可能增大。当山脉s=[3,2,1]时,不存在合理的边界,此时输出:0。表示s=[1,2,3]

算法大师! 3003

华为OD天然蓄水

公元2919年,人类终于发现了一颗宜居星球——X星。现想在X星一片连绵起伏的山脉间建一个天然蓄水库,如何选取水库边界,使蓄水量最大?山脉用正整数数组s表示,每个元素代表山脉的高度。选取山脉上两个点作为蓄水库的边界,则边界内的区域可以蓄水蓄水量需排除山脉占用的空间。蓄水量的高度为两边界的最小值。如果出现多个满足条件的边界,应选取距离最近的一组边界。输出边界下标(从0开始)和最大蓄水量;如果无法蓄水,则返回0,此时不返回边界。例如,当山脉为时,则选取s[0]和s[2]作为水库边界,则蓄水量为1

JX-HuTao的博客 1575

华为OD - 天然蓄水池(Python/JS/C/C++ 2024 E卷 200分)

本专栏收录于《华为OD真题(Python/JS/C/C++)》。刷的越多,抽中的概率越大,私信哪吒,备注华为OD,加入华为OD刷题交流群,每一题都有详细的答题思路、详细的代码注释、3个测用例、为什么这道题采用XX算法、XX算法的适用场景,发现新题目,随时更新。公元2919年,人类终于发现了一颗宜居星球——X星。现想在X星一片连绵起伏的山脉间建一个天然蓄水库,如何选取水库边界,使蓄水量最大?要求:山脉用正整数数组s表示,每个元素代表山脉的高度。选取山脉上两个点作为蓄水库的边界,则边界内的区域可以蓄水,蓄

学Java,找哪吒 1262

100%通过率】华为OD真题 JS 实现【水库蓄水问题】【2023 Q1 | 100分】

给定一个长度为 n 的整数数组height。数组的元素表示山的高度,选择两个元素作为水库的边界,求蓄水量的最大值并输出蓄水量最大时的边界下标(蓄水量相同时输出下标较近的)。

MISAYAONE的博客 8127

华为OD真题大全,用 Python 解华为题 | 宝典

华为OD华为OD 华为OD 华为OD算法 华为OD编程题 华为OD岗位要求 华为OD职位评估 华为OD经验分享 华为OD在线测 华为OD评估标准 华为OD评测系统 华为OD筛选华为OD编程语言要求 华为OD数据结构与算法 华为OD程序设计 华为OD程序优化 华为OD编程能力考核 华为OD编程技巧与经验

梦想橡皮擦,专栏100例写作模式先行者,现象级专栏 《Python 爬虫 100 例》作者、《滚雪球学 Python 专栏》原创者 2万+

2026华为OD(Python)真题【E卷+A卷+B卷+C卷+D卷】目录+在线OJ

华为OD真题题库【E卷+A卷+B卷+C卷+D卷】目录,Python实现。

MISAYAONE的博客 28万+

2026华为ODJavaScript)真题【E卷+A卷+B卷+C卷+D卷】目录+在线OJ

华为OD真题题库【E卷+A卷+B卷+C卷+D卷】目录,JavaScript实现。

MISAYAONE的博客 8万+

2026华为OD(C语言真题【E卷+A卷+B卷+C卷+D卷】目录+在线OJ

华为OD真题题库【E卷+A卷+B卷+C卷+D卷】目录,C语言实现。

MISAYAONE的博客 11万+

【新2023Q2押题JAVA华为OD - 天然蓄水库 or 天然蓄水

经过分析,选取 s[1]和 s[8]时,水库蓄水量为 15;同样选取 s[1]和 s[6]时,水库蓄水量也为 15。选取山脉上两个点作为蓄水库的边界,则边界内的区域可以蓄水蓄水量需排除山脉占用的空间。经过分析,选取 s[1]和 s[6]时,水库蓄水量为 19(3+7+4+5)当存在合理的水库边界时,输出左边界、空格、右边界、英文冒号、蓄水量;如果出现多个满足条件的边界,应选取距离最近的一组边界。作为水库边界,则蓄水量为 1,此时输出:0 2:1。时,不存在合理的边界,此时输出:0。不存在合理的水库边界。

梦想橡皮擦,专栏100例写作模式先行者,现象级专栏 《Python 爬虫 100 例》作者、《滚雪球学 Python 专栏》原创者 1万+

2026华为ODJAVA&Go)真题【E卷+A卷+B卷+C卷+D卷】目录+在线OJ

华为OD真题题库【E卷+A卷+B卷+C卷+D卷】目录,Java实现。

MISAYAONE的博客 34万+

天然蓄水库

经过分析,选取s[1]和s[8]时,水库蓄水量为15;同样选取s[1]和s[6]时,水库蓄水量也为15。现想在X星一片连绵起伏的山脉间建一个天热蓄水库,如何选取水库边界,使蓄水量最大?例如,当山脉为s=[3,1,2]时,则选取s[0]和s[2]作为水库边界,则蓄水量为1,此时输出:0 2:1。当存在合理的水库边界时,输出左边界、空格、右边界、英文冒号、蓄水量;经过分析,选取s[1]和s[6]时,水库蓄水量为19(3+7+4+5)当山脉s=[3,2,1]时,不存在合理的边界,此时输出:0。

面试高手的博客 939

应急指挥如何“看得见、呼得通”?私有化部署集群对讲EasyDSS集群语音对讲+GIS地图可视化给出答案

应急指挥的底线,是“呼得通、看得见、调得动”。

音视频流媒体技术 238

Fastjson 高危 RCE(CVE-2026-16723):如何用观测云快速发现并完成修复

本文针对 Fastjson 高危 RCE 漏洞 CVE‑2026‑16723,剖析其影响与利用条件,指出 Maven 静态排查的局限。观测云依托 ddtrace 运行时数据,完成漏洞检测定位告警修复闭环,提供升级、应急防护、迁移 fastjson2 处置方案。

观测云的博客 385

Linux服务器RocketMQ和RocketMQ Dashboard安装部署

rockermq安装

qq_39984729的博客 209

Java 序列化进阶实战:循环引用、反序列化漏洞与生产避坑指南

本文为 Java 序列化系列・下篇(进阶生产篇) 承接上篇基础内容,专注底层原理、对象缓存制、版本兼容高阶 API、序列化代理模式、反序列化安全漏洞、JDK 版本变化、数据库存储实战、线上踩坑复盘、企业选型最佳实践。

一线 Java 开发,专注 Java 核心原理、生产踩坑与架构面试实战。 832

【手搓 Agent 第2.3关】搭建 Agent 进阶能力:工具注册中心架构重构

本篇优化了之前编写 Agent 时的杂乱硬编码,使用工具注册中心统一调度,促使后期增添工具更加容易。顺便优化了 RAG 知识库的懒加载,使 Agent 启动更快。

2502_92964924的博客 316
上一篇: 华为OD机试真题-执行任务总时长 【2023.Q1】
下一篇: 华为OD机试真题-组装新的数组 【2023.Q1】
IkunAlgorithm
博客等级 码龄3年 33粉丝 99原创
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值