华为OD机试之阿里巴巴找黄金宝箱(I)

news/2024/10/17 23:30:25/

阿里巴巴找黄金宝箱(I)

题目描述

一贫如洗的樵夫阿里巴巴在去砍柴的路上,无意中发现了强盗集团的藏宝地,藏宝地有编号从0~N的箱子,每个箱子上面贴有一个数字,箱子中可能有一个黄金宝箱。

黄金宝箱满足排在它之前的所有箱子数字和等于排在它之后的所有箱子数字之和;

第一个箱子左边部分的数字和定义为0;最后一个箱子右边部分的数字和定义为0.

请帮阿里巴巴找到黄金宝箱,输出第一个满足条件的黄金宝箱编号,如果不存在黄金宝箱,请返回-1。


输入描述

箱子上贴的数字列表,使用逗号分隔,例如1,-1,0
宝箱的数量不小于1个,不超过10000
宝箱上贴的数值范围不低于-1000,不超过1000


输出描述

第一个黄金宝箱的编号

用例

输入2,5,-1,8,6
输出3
说明

下标3之前的数字和为:2 + 5 + -1 = 6

下标3之后的数字和为:6 = 6

输入8,9
输出-1
说明不存在符合要求的位置
输入11
输出0
说明

下标0之前的数字和为:0

下标0之后的数字和为:0

解析
理解题意 就如用例中所说,当只有一个箱子时,前后和为0,那么该箱子就是黄金箱子。若有多个时,则需要进行前后之和判断。若找不到合适的,那就返回-1,找到就返回箱子所在位置的索引。

import java.util.Arrays;
import java.util.Scanner;public class T63 {public static void main(String[] args) {Scanner sc = new Scanner(System.in);String input = sc.nextLine();int nums[] = new int[input.split(",").length];if (nums.length == 1) {System.out.println(0);return;}int tempSum[] = new int[1];int tempIndex[] = new int[1];Arrays.stream(input.split(",")).forEach(item -> {int no = Integer.parseInt(item);nums[tempIndex[0]++] = no;tempSum[0] += no;});int leftSum = 0;int rightSum = tempSum[0];for (int i = 1; i < nums.length; i++) {leftSum += nums[i - 1];rightSum -= nums[i - 1];if (rightSum - nums[i] == leftSum) {System.out.println(i);return;}}System.out.println(-1);}
}

代码运行示例
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述


http://www.ppmy.cn/news/465071.html

相关文章

使用微信扫描关注公众号登陆的方法

过程很简单,首先客户端向微信请求微信登陆用的二维码,然后用微信扫描二维码,这个二维码是公众号的二维码.扫码后会跳转到公众号.这时分两种情况,一是还没关注该公众号的,点击关注,即可登陆成功;另一种情况是,关注过该公众号的,客户端自动登陆成功,无须任何操作 下面说下过程: …

MAC微信接收到的文档打开都变成(只读)解决办法

在使用mac电办公的时候&#xff0c;经常会需要处理office文档&#xff0c;但经常就是打开别人发来的office文档&#xff0c;我们习惯的就是先点击&#xff0c; 然后在点击上方的使用xxx打开。结果点击打开后&#xff0c;标题上就是显示只读。 解决办法&#xff1a; 接收到的文…

微信H5支付跳转问题

官方文档&#xff1a;微信支付-开发者文档 官方说法&#xff1a;服务端调用下单接口后&#xff0c;将返回的 mweb_url 链接返回给客户端&#xff0c;让客户端调用该链接拉起微信支付&#xff0c;需要配置跳转地址的话&#xff0c;在链接后面带上 &redirect_url跳转地址&am…

微信小程序禁止页面上下滑动的三个方式

开发的时候&#xff0c;会遇到产品或者UI发出如下规定&#xff1a; 1、如果是一屏的页面&#xff0c;就禁止页面能上下滑动 2、如果显示弹窗的时候&#xff0c;长屏幕禁止上下滑动&#xff01; 感叹一句&#xff1a;好变态 当然&#xff0c;感叹归感叹&#xff0c;但是还是…

企业微信客户端调试工具

最近自己在搞企业微信上的第三方应用&#xff0c;需要调试一些东西。没有像谷歌那样的开发者工具真的好头疼。 还好企业微信提供这样的工具。那我来说说自己是如何下载和使用的。 第一步&#xff0c;先去官网下载 常见问题 - FAQ - 接口文档 - 企业微信开发者中心 直接下载 …

h5判断是否在微信环境下

微信环境h5跳转小程序页面&#xff1a; 1、判断环境 var ua navigator.userAgent.toLowerCase();if (ua.match(/MicroMessenger/i) "micromessenger") {//ios的ua中无miniProgram&#xff0c;但都有MicroMessenger&#xff08;表示是微信浏览器&#xff09;wx.min…

Windows运行vbs在微信下自动发送烟花、庆祝

相关链接&#xff1a;wshShell.SendKeys模拟键盘操作 在txt下粘贴以下代码&#xff0c;修改txt文件为vbs&#xff0c;根据需求自行调整 Set WshShellWScript.CreateObject("WScript.Shell")WshShell.AppActivate "WeChat.Application"for i1 to 10WScript…

微信小程序转发功能的实现

前段时间做了一个微信小程序的项目&#xff0c;在项目中有实现过小程序的转发功能,这里给大家分享一下&#xff0c;有不对的地方勿喷 微信小程序官方文档:基础 | 微信开放文档 实现小程序转发有二种方式&#xff0c;一种是用户点击右上角转发&#xff0c;一种是在html文件中通…