华为OD机试真题——阿里巴巴找黄金宝箱Ⅰ(2025A卷:100分)Java/python/JavaScript/C/C++/GO最佳实现

article/2025/8/19 3:06:53

在这里插入图片描述

2025 A卷 100分 题型

本专栏内全部题目均提供Java、python、JavaScript、C、C++、GO六种语言的最佳实现方式;
并且每种语言均涵盖详细的问题分析、解题思路、代码实现、代码详解、3个测试用例以及综合分析;
本文收录于专栏:《2025华为OD真题目录+全流程解析+备考攻略+经验分享》

华为OD机试真题《阿里巴巴找黄金宝箱Ⅰ》:


文章快捷目录

题目描述及说明

Java

python

JavaScript

C

GO


题目名称:阿里巴巴找黄金宝箱Ⅰ


  1. 知识点:前缀和、双指针(或逻辑模拟)
  2. 时间限制:1秒
  3. 空间限制:256MB
  4. 限定语言:不限

题目描述

一贫如洗的樵夫阿里巴巴在去砍柴的路上,无意中发现了强盗集团的藏宝地,藏宝地有编号从0~N的箱子,每个箱子上面贴有一个数字,箱子中可能有一个黄金宝箱。
黄金宝箱满足:排在它之前的所有箱子数字和等于排在它之后的所有箱子数字和;

  • 第一个箱子左边部分的数字和定义为0;
  • 最后一个宝箱右边部分的数字和定义为0。
    请帮阿里巴巴找到黄金宝箱,输出第一个满足条件的黄金宝箱编号,如果不存在黄金宝箱,请返回-1。

输入描述
箱子上贴的数字列表,使用逗号分隔,例如:1,-1,0

  • 宝箱的数量不小于1个,不超过10000;
  • 宝箱上贴的数值范围不低于-1000,不超过1000。

输出描述
第一个黄金宝箱的编号(从0开始计数)。

示例

  1. 输入:2,5,-1,8,6,输出:3
    • 下标3之前的数字和为:2 + 5 + -1 = 6,之后的数字和为:6 = 6
  2. 输入:8,9,输出:-1(无满足条件的位置)。
  3. 输入:11,输出:0(下标0左右和均为0)。

Java

问题分析

我们需要找到数组中第一个满足左边元素和等于右边元素和的索引位置。左边和右边的定义分别为该位置前所有元素的和及该位置后所有元素的和。若不存在这样的位置,返回-1。

解题思路

  1. 总和计算:首先计算数组所有元素的总和。
  2. 遍历检查:遍历数组,维护一个累积的左边和 leftSum。对于每个位置 i,右边的和为 totalSum - leftSum - nums[i]。如果左边和等于右边的和,则返回当前索引。
  3. 线性时间复杂度:该方法只需两次遍历数组(一次计算总和,一次查找位置),时间复杂度为 O(n),空间复杂度为 O(1)(不考虑输入存储空间)。

代码实现

public class Main {public static void main(String[] args) {// 读取输入并转换为整数数组java.util.Scanner scanner = new java.util.Scanner(System.in);String input = scanner.nextLine();String[] parts = input.split(",");int[] nums = new int[parts.length];for (int i = 0; i < parts.length; i++) {nums[i] = Integer.parseInt(parts[i]);}// 计算总和int totalSum = 0;for (int num : nums) {totalSum += num;}// 遍历数组查找黄金宝箱位置int leftSum = 0;for (int i = 0; i < nums.length; i++) {int current = nums[i];// 右边的和 = 总和 - 左边和 - 当前元素值int rightSum = totalSum - leftSum - current;if (leftSum == rightSum) {System.out.println(i);return;}leftSum += current;}// 未找到符合条件的宝箱System.out.println(-1);}
}

代码详解

  1. 输入处理

    • scanner.nextLine() 读取输入字符串。
    • split(",") 将字符串按逗号分割成字符串数组。
    • 转换为 int[] 数组 nums
  2. 总和计算

    • 遍历数组累加所有元素的值得到 totalSum
  3. 遍历检查

    • 初始化 leftSum 为0,表示当前位置左边的累积和。
    • 遍历每个元素 nums[i],计算右边的和 rightSum
    • 如果 leftSum 等于 rightSum,输出当前索引并结束程序。
    • 否则,将当前元素值加到 leftSum 中,继续下一个元素。
  4. 结果输出

    • 若遍历结束未找到符合条件的索引,输出-1。

示例测试

示例1
输入:2,5,-1,8,6
输出:3
解析:索引3左边和为2+5+(-1)=6,右边和为6,相等。

示例2
输入:8,9
输出:-1
解析:两个位置均不满足左边和等于右边和。

示例3
输入:11
输出:0
解析:左边和与右边和均为0。

综合分析

  1. 时间复杂度:两次遍历数组,时间复杂度为 O(n),n为数组长度。对于最大输入规模1e4,完全可行。

http://www.hkcw.cn/article/PGWXhgmgpD.shtml

相关文章

泡泡玛特成基金重仓新贵 消费投资聚焦“含新量”

泡泡玛特成基金重仓新贵 消费投资聚焦“含新量”!随着泡泡玛特在港交所挂牌并凭借爆款IP实现股价大幅上涨,不少曾经重仓持有贵州茅台的基金经理开始转向投资泡泡玛特。许多基金经理也在积极寻找能够复制泡泡玛特成功的新消费标的。一位长期关注新消费领域的公募基金经理表示,…

刘扬伟:富士康即将宣布第二家日本车企合作伙伴 电动车业务再扩展

刘扬伟:富士康即将宣布第二家日本车企合作伙伴 电动车业务再扩展!富士康董事长刘扬伟在股东大会上宣布,公司即将与第二家日本汽车制造商建立合作关系,继续拓展电动车业务。他提到两家日本车厂中,一家已经公布,另一家也快了,但未透露更多细节。本月早些时候,富士康旗下的…

美若禁止对华出售EDA对我国有何影响 芯片设计工具受限

美若禁止对华出售EDA对我国有何影响 芯片设计工具受限!经历两天传闻后,两家美国芯片EDA大厂Synopsys(新思科技)和Cadence(楷登电子)确认,美国商务部工业和安全局(BIS)要求它们对中国企业断供芯片设计EDA软件工具。Synopsys在5月29日发布公告称,公司收到了BIS的信函,…

女子称坐飞机万元金手链托运后丢失 行李完好首饰不翼而飞

5月26日,杨女士在社交平台发布视频称,她在25日搭乘春秋航空公司的航班从西安返回宁波。落地后发现托运行李中一条价值一万两千余元的金手链不见了。奇怪的是,该金手链的内外包装完好无损。目前,宁波市公安局机场分局已接到杨女士的报警,并受理此案。杨女士表示,她原本不打…

网飞回应苦尽柑来遇见你霸凌风波 剧组工作方式受质疑

网飞(Netflix)热播韩剧《苦尽柑来遇见你》近日被质疑剧组工作人员压榨群演,霸凌风波持续发酵。韩国网络上关于该剧拍摄现场工作方式严苛的爆料不断涌现,爆料人疑似为群演或外包公司员工。有人控诉剧组不愿在非主演身上花钱,不允许群演穿保暖内衣和使用取暖设备,寒冬时节放…

亲妈拿走孩子80多万买房再婚被起诉 法院:全额返还并支付利息

5月29日,南通中院通报了一起典型案例。女子丁某离婚时约定,儿子小雷(化名)随丁某共同生活,男方给付小雷生活费70万元。同时约定这笔钱及长辈给的13.8万元,应作为小雷购买某房产的产权份额。后来,丁某签订房屋买卖合同,并陆续支付房款83.8万元。同年,丁某与汪某登记结婚…

动车弓网检测系统助力铁路运行安全

动车弓网检测是铁路运营中至关重要的环节&#xff0c;其重要性不言而喻&#xff0c;弓网检测可以保障行车安全&#xff0c; 提升运行效率。 检测重点内容 接触网&#xff1a;导线高度、拉出值、磨损、悬挂部件状态。 受电弓&#xff1a;碳滑板厚度、动态接触压力、框架变形。…

部分机票低于1.3折 错峰出游正当时

部分机票低于1.3折 错峰出游正当时。近期全国多地机票价格明显下降,业内人士表示暑假前是错峰出游的好时机。有网友兴奋地表示要马上出发。近日,在一些旅游门店观察到,许多市民正计划利用淡季出行。未来一个月内,从广州飞往昆明、上海、南京、武汉等多个热门旅游城市的机票…

litctf2025复现

[LitCTF 2025]nest_js 开始是一个登录界面&#xff0c;随便输入发现没回显&#xff0c;抓包看看&#xff0c;没看出来什么&#xff0c;猜一下账号是admin直接用常用密码字典爆破 得到密码是password&#xff0c;登录就有flag [LitCTF 2025]test_your_nc 进去就叫我们输入指令…

【QQ音乐】sign签名| data参数加密 | AES-GCM加密 | webpack (下)

1.目标 网址&#xff1a;https://y.qq.com/n/ryqq/toplist/26 我们知道了 sign P(n.data)&#xff0c;其中n.data是明文的请求参数 2.webpack生成data加密参数 那么 L(n.data)就是密文的请求参数。返回一个Promise {<pending>}&#xff0c;所以L(n.data) 是一个异步函数…

MySql(五)

目录 修改表 1--修改表中列的 数据类型 或长度 &#xff08;Modify&#xff09; 语法 格式&#xff1a; 对student的中的 student_info 字段进行修改 1....修改字段长度 2....修改字段类型 2--修改表中的列名&#xff08;change&#xff09; 语法格式&#xff1a; 修改列名 3.删…

C++_核心编程_ 左移运算符重载 “<<” 左移运算符

作用&#xff1a;可以输出自定义数据类型 */ //目标 调用p1,输出Person 中的属性 m_A ,m_B &#xff1a; /* #### 4.5.2 左移运算符重载 “<<” 左移运算符 作用&#xff1a;可以输出自定义数据类型 *///目标 调用p1,输出Person 中的属性 m_A ,m_B &#xff1a; class…

GESP2024年6月认证C++二级( 第三部分编程题(1)平方之和)

参考程序&#xff1a; #include <bits/stdc.h> using namespace std;// 判断一个数是否为完全平方数&#xff08;返回 true 表示是&#xff09; bool check(int x) {int y sqrt(x); // 求平方根return y * y x; // 如果 y*y 恰好等于 x&#xff0c;说明 x 是完全…

4.1.3 操作数据帧

在本节实战中&#xff0c;我们学习了如何操作Spark SQL中的数据帧&#xff08;DataFrame&#xff09;。首先&#xff0c;我们了解了如何通过数据集&#xff08;Dataset&#xff09;转换或直接读取文件来获取数据帧。接着&#xff0c;我们演示了如何查看数据帧的结构和内容&…

四大行浙江分行原行长接连落马 反腐风暴新高潮

5月27日下午,浙江钱塘江金融研修院官网“现任领导”一栏突然空白,原院长沈荣勤的信息消失。随后多家媒体报道称,工商银行浙江省分行原行长沈荣勤已被带走调查,成为继中行郭心刚、建行高强、农行冯建龙之后,第四位落马的“四大行”浙江分行原一把手,标志着这场席卷全省金融…

身价百亿毛巾少爷转行卖咖啡 果然贫穷限制了想象力

石展承(网名“毛巾少爷”)作为洁丽雅集团第三代接班人,近期因参与创业综艺《微笑一号店》跨界卖咖啡引发热议。这位自带“百亿身家”标签的年轻企业家,通过多重身份探索和个人IP运营,展现了传统家族企业新生代接班人的转型之路。石展承出生于1999年,毕业于中国传媒大学表…

ST锦港被终止上市,8万股东无眠 财务造假代价沉重

ST锦港被终止上市,8万股东无眠 财务造假代价沉重!忽略风险提示,侥幸参与短线博弈,总认为自己快进快出不会接到最后一棒,但昨晚ST锦港的公告让追进去的投资者既后怕又后悔。ST锦港连续多年财务造假,涉及营收、净利润虚假记载、未按时披露关联交易、未按期发布财报及关联方…

女子喜待乔迁 新房遭陌生人拆光 乌龙事件背后的真相

最近,家住浦东新区“芳草苑”小区的张女士遇到了一件烦心事。她家刚完成老房新装,计划第二天从出租屋搬回去。然而,当她回家查看收尾进度时,发现厨房和卫生间里的设施设备被三个陌生人拆了。这些设施和装修材料都是全新的、一线品牌的定制款,张女士感到非常心疼。经过社区…

哈佛禁令被叫停 争议和担忧仍未平息 风波持续影响深远

当地时间29日,美国马萨诸塞州联邦地区法院批准了哈佛大学提出的初步禁令请求,暂停了特朗普政府取消哈佛大学招收外国学生资质的政策。法官艾莉森伯勒斯当天就该案举行听证会,并决定此前发布的临时限制令将继续有效,直到各方协商并提交提议供法官审议后发布最终的初步禁令。…

泡泡玛特回应黄牛在门店扫货 限量款二手市场价格飙升

近日,有卖家在二手市场以8万元价格打包转卖51个Labubu,这些款式均为绝版老款。随着Labubu系列潮流玩具的火爆,部分隐藏款和绝版老款在二手市场的价格飙升至数万元。Labubu是中国香港艺术家龙家升创作的北欧森林精灵形象,是“The Monsters”精灵天团的成员。它有9颗牙齿和直…