def outList(arr):
arraySize = len(arr)
auxList = [0 for x in range(arraySize)]
auxList[0] = 1
for curIdx in range(1, arraySize):
minSteps = curIdx+1;
for lowerIdx in range(curIdx):
if arr[lowerIdx]+lowerIdx >= curIdx:
if auxList[lowerIdx]+1 < minSteps:
minSteps = auxList[lowerIdx]+1
auxList[curIdx] = minSteps
orderList = []
orderList.append(arraySize-1)
preValue = auxList[arraySize-1]
for i in reversed(range(arraySize-1)):
if auxList[i] == preValue:
continue
else:
orderList.append(i)
preValue = auxList[i]
orderList = orderList[::-1]
out = []
print orderList
print arr
for i in orderList:
out.append(arr[i])
return out
if __name__ == '__main__':
arr = (1,3,5,8,9,2,6,7,6,8,9)
out = outList(arr)
print out
Minimum number of jumps to reach end
最新推荐文章于 2020-12-07 16:23:57 发布