这是一个挑战
寻找单线解决方案:
假设我们有一个清单:
a = [1,-1,1,-1,-1,-1]
想法是获得动态解决方案,在列表中查找-1的数量,但从结束到开始并在第一个值(从结束到开始)为1时停止计数。
在这种情况下,解决方案应为3。
答案 0 :(得分:1)
一个解决方案是
a[::-1].index(1) if 1 in a else len(a)
a[::-1]
撤消列表。
index(1)
在反向列表
由于您提到的只有1
和-1
,这足以找到-1
'最后1
之前的。
如果列表中没有index(1)
,1
会引发错误,if 1 in a else len(a)
条件会通过返回列表的长度来处理。