[0] is for step 1 and [n-1] for step n.
i: 01 n = 2, length = 2
step: 12
value: x don't care
steps findBestPath(obstacles, steps):
if obstacles == null || obstacles.length() == 0:
throw
if steps.any(step <= 0):
throw
sortDesc(steps)
best = new
findBestPath(obstacles, steps, best)
return best
findBestPath(obstacles, steps, best, i = a.length()):
if i == 0:
return true
if hasObstacle(obstacles, i):
return false
for step in steps:
best.add(step)
if findBestPath(obstacles, steps, best, i -step):
return true
best.removeLast(step)
return false
bool hasObstacle(obstacles, i):
if !(1 <= i <= a.length()):
return false
return obstacles[i-1]
No comments:
Post a Comment