これがケースです:
mylist = range(100)
からsrc=1
への不連続なパスがdest=99
あり、配列pre[100]
の各値は の最後を表しelem
ますpath
。elems
問題は、path
~dest
~のすべてを取得するにはどうすればよいかということsrc
です。このようにすることができます:
path = []
i = dst
while i != src:
path.append(i)
i = pre[i]
path.append(src)
しかし、おそらく1つのステートメントだけを使用する簡単な方法はありますか?
サンプル入力
dst, src = 3, 2
pre = [2, 0, 3, 1]
出力
[3, 1, 0, 2] #It just have to follow the path with the indices from 3 to 2.
説明:
ソース宛先 vv インデックス: 0 1 2 3 前: 2 0 3 1 dest 3 からは、前任者が 1 であるため、1 に移動します。 ノード 1 から、先行者は 0 であるため、0 に移動します。 ノード 0 からは前任者が 2 であるため、2 に移動します。 2 は src なので、これで完了です。