华为OD机考--阿里巴巴黄金箱

题目内容

贫如洗的樵夫阿里巴巴在去砍柴的路上,无意中发现了强盗集团的藏宝地,藏宝地有编号从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

java 复制代码
public class GoldChest {
    public static void main(String[] args) {
        Scanner sc =  new Scanner(System.in);
        int [] num = Arrays.stream(sc.nextLine().split(",")).mapToInt(Integer::parseInt).toArray();
        if (num.length == 1){
            System.out.println(0);
            return;
        }
        int end = equal(num,1);
        System.out.println(end);
    }

    //单指针+循环遍历
    public static int equal(int [] num, int i){
        Boolean end = false;
        while (!end && i < num.length) {
            int before = 0;
            int after = 0;
            for (int j = 0; j < num.length; j++) {
                if (j < i) {
                    before += num[j];
                } else if (j > i) {
                    after += num[j];
                }
            }
            if (before == after) {
                end = true;
            } else {
                i++;
            }
        }
        if (!end) {
            return -1;
        }
        return i;
    }
}
相关推荐
优秀的颜37 分钟前
计算机基础知识(第五篇)
java·开发语言·分布式
BillKu38 分钟前
Java严格模式withResolverStyle解析日期错误及解决方案
java
飞川撸码39 分钟前
【LeetCode 热题100】网格路径类 DP 系列题:不同路径 & 最小路径和(力扣62 / 64 )(Go语言版)
算法·leetcode·golang·动态规划
网安INF43 分钟前
ElGamal加密算法:离散对数难题的安全基石
java·网络安全·密码学
Neil今天也要学习1 小时前
永磁同步电机参数辨识算法--IPMSM拓展卡尔曼滤波全参数辨识
单片机·嵌入式硬件·算法
yzx9910132 小时前
基于 Q-Learning 算法和 CNN 的强化学习实现方案
人工智能·算法·cnn
AWS官方合作商2 小时前
在CSDN发布AWS Proton解决方案:实现云原生应用的标准化部署
java·云原生·aws
亮亮爱刷题2 小时前
算法练习-回溯
算法
gadiaola3 小时前
【JVM】Java虚拟机(二)——垃圾回收
java·jvm
眼镜哥(with glasses)3 小时前
蓝桥杯 国赛2024python(b组)题目(1-3)
数据结构·算法·蓝桥杯