【华为OD统一考试B卷 】阿里巴巴找黄金宝箱(I)python

【华为OD统一考试B卷 】阿里巴巴找黄金宝箱(I)python

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

代码实现

vec=input().split(',')
arr=[]
sum=0
for i in vec:
    arr.append(int(i))
    sum+=int(i)
left=0
flag=1
for i in range(len(arr)):
    if left==sum-arr[i]:
        print(i)
        flag=0
        break
    left+=arr[i]
    sum-=arr[i]
if flag==1:
    print(-1)

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值