汉化版网站开发软件,做网站下一页,苏州建网站收费,泰州网站建设与网页制作题目内容 贫如洗的樵夫阿里巴巴在去砍柴的路上#xff0c;无意中发现了强盗集团的藏宝地#xff0c;藏宝地有编号从0~N的箱子每个箱子上面贴有一个数字箱子中可能有一个黄金宝箱。 黄金宝箱满足排在它之前的所有箱子数字和等于排在它之后的所有箱子数字之和; 一个箱子左边部分… 题目内容 贫如洗的樵夫阿里巴巴在去砍柴的路上无意中发现了强盗集团的藏宝地藏宝地有编号从0~N的箱子每个箱子上面贴有一个数字箱子中可能有一个黄金宝箱。 黄金宝箱满足排在它之前的所有箱子数字和等于排在它之后的所有箱子数字之和; 一个箱子左边部分的数字和定义为0: 最后一个箱子右边部分的数字和定义为0. 帮阿里巴巴找到黄金宝箱输出第一个满足条件的黄金宝箱编号如果不存在黄金宝箱请返回-1。 输入描述 箱子上贴的数字列表使用逗号分隔例如1-10 宝箱的数量不小于1个不超过10000 宝箱上贴的数值范围不低于-1000不超过1000 输出描述 第一个黄金宝箱的编号 样例 输入 2,5,-1,8,6 输出 3 说明 下标3之前的数字和为25-16 下标3之后的数字和为66 输入 8,9 输出 -1 说明 不存在符合要求的位置 输入 11 输出 0 说明 下标0之前的数字和为0 下标0之后的数字和为0 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;}
}