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

网站开发包括网站免费永久

网站开发包括,网站免费永久,怎么做黑客把网站余额更改,wordpress固定链接文章发布失败2025 A卷 100分 题型 本专栏内全部题目均提供Java、python、JavaScript、C、C++、GO六种语言的最佳实现方式; 并且每种语言均涵盖详细的问题分析、解题思路、代码实现、代码详解、3个测试用例以及综合分析; 本文收录于专栏:《2025华为OD真题目录+全流程解析+备考攻略+经验分…

在这里插入图片描述

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.dtcms.com/wzjs/831205.html

相关文章:

  • 外国人做中国英语视频网站jsp旅游网站开发系统
  • 什么叫宣传类网站怎么建立自己网站视频
  • 天津网站运营福州市网站
  • 网站建设 引导合肥it培训机构
  • 网站seo站长工具如何做优秀的视频网站设计
  • fms 视频网站建设个人怎么开通微信小程序
  • wordpress搭建短视频网站wordpress调用数据库字段
  • 公司网站服务费多少钱注册网站流程和费用
  • 建筑业务网站建设wordpress管理页面密码忘记
  • ic电子网站建设wordpress怎么截图直接粘贴
  • 语言可以做网站吗网络工程培训网络班
  • 网站两边的悬浮框怎么做成都网站建设哪里有
  • 嘉兴微信网站建设ps做图下载网站有哪些
  • 网站平台建设保密协议什么是网站备案
  • 在线制作视频网站重庆信息网
  • 阿里个人网站wordpress全站搜索
  • wordpress网站换字体美食网站建设的功能
  • 财经直播的网站开发一个多少钱全国造价信息网官网
  • 厦门市城市建设档案馆的网站上海生活门户网
  • 给网站建设提意见wordpress导航兰
  • 中国建行网站手机网站设计规格
  • 苏州的建筑公司网站wordpress 微信缩略图不显示
  • 文交所网站建设方案网站开发时间进度表
  • 提升网站页面打开速度网站建设好后如何连接服务器
  • 阿里云搭建公司网站私人域名服务器
  • 方案库网站天津市建设工程监理公司网站
  • 课程网站建设目标任务免费代理招商网
  • 美容网站建设一个多少钱c++后端开发需要学什么
  • 网站开发的接口文档网络信息科技有限公司
  • 小白如何搭建个人网站wordpress子目录无法访问后台