使用O(n)RunTime计算列表中相邻的较小数字?

时间:2018-05-16 10:10:30

标签: python recursion stack runtime combinatorics

我被要求编写一个在列表上运行的函数,并且它的每个索引都会计算小于它上面和附近的当前值的值的数量。例如,在索引5中,值" 75"大于60,70,60。

输入:

(100,80,60,70,60,75,85) 

系统的输出:

(0,0,0,1,0,3,5)

我被要求做 O(n)的RunTime 并通过使用类堆栈。我很无能为力。

我猜测它与递归

有关

任何其他语言的解决方案都会非常有帮助

1 个答案:

答案 0 :(得分:0)

在python中,可以使用具有pop和push方法的List(在堆栈中使用)来完成。代码是这样的:

a = [100,80,60,70,60,75,85]
out = []
for i in a:
    out.append(len([i for j in a if i>j] ))
print out