首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >python -在数组中查找平衡点-错误

python -在数组中查找平衡点-错误
EN

Stack Overflow用户
提问于 2016-11-01 00:51:29
回答 1查看 773关注 0票数 0

我试图解决谦卑中提出的平衡问题。我写了一个解决方案(可能不是最有效的解决方案,但这只是为了锻炼目的)。该解决方案在我的PC上工作,但返回一个在谦卑环境中的错误。这怎么可能?我在哪里搞错了?

问题所在

找出序列的平衡指数,使较低指标的元素之和等于较高指标的元素之和。

我的解决方案

代码语言:javascript
复制
A=[-1, 3, -4, 5, 1, -6, 2, 1]

def solution(A):

    results=[]
    n=len(A)
    P = [0] * (n)
    P[0] = A[0]
    for k in xrange(1, n):
        P[k] = P[k - 1] + A[k]


    for p in xrange(1,n):
        if P[p-1]==P[n-1]-P[p-1]-A[p]:
            results.append(p)


    if len(results) <> 0:
        return results
    else:
        return -1

编译成功。示例测试:-1,3,-4,5,1,-6,2,1输出(stderr):无效的结果类型,int预期,找到。运行时错误(测试程序意外终止)

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-11-01 00:57:37

看起来,在所有情况下,您都应该返回一个整数,而代码在某些情况下返回一个列表,在另一些情况下返回-1。

我认为您可能只是返回第一个结果,因为算法描述似乎没有考虑到解决方案不是唯一的情况。因此,return results[0]而不是return results可能会修复它。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40352673

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档