Python 用O(n)运行时计算列表中相邻的较小数字?

Python 用O(n)运行时计算列表中相邻的较小数字?,python,recursion,stack,runtime,combinatorics,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) 并使用类堆栈。我也很无知 我猜这和递归有关 在python中,任何其他语言的解决方案都会非常有用,它可以使用具有pop和push方法(在堆栈中使用)的列表来完成。代码是这样的: a = [100,80,60,70,60,75,85] out

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

输入:

(100,80,60,70,60,75,85) 
系统的输出:

(0,0,0,1,0,3,5)
我被要求在O(n) 并使用类堆栈。我也很无知

我猜这和递归有关


在python中,任何其他语言的解决方案都会非常有用,它可以使用具有pop和push方法(在堆栈中使用)的列表来完成。代码是这样的:

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       

你的问题和例子不太清楚。如果最后有一个“75”,会输出什么?对于第一个列表中的每个值。我需要计算在它之前的值的数量,这些值比他小,但彼此相等。75分为60,70,60分