扩展此Python代码/使其更有效

时间:2018-02-21 09:19:49

标签: python time-complexity

我希望理解为什么这个Python函数不能很好地扩展,以及如何通过加快它来改进它。

代码的目的是获得可以购买的最高数量的股票,给定A股票价格和价格A(i)的股票数量是i + 1。说明:给定列表[2,3,4],人们只能购买一个价格为2的股票,两个价格为3 e.t.c的股票。

def MaximumStockNumber (n, k, a):
    """a is a list of integers, k is the amount constraint and n is the number of integers"""
    numValuePairs = sorted([(index+1, value) for index, value in enumerate(a)], key = lambda x: x[1])
    stocks = 0
    for i in numValuePairs:
        a = i[0]
        if i[1]<=k:
            while a>0:
                if i[1]<=k:
                    stocks +=1
                    k = k-i[1]
                a -=1
        if k==0:
            return stocks
    return stocks

0 个答案:

没有答案