次のレベルの階層があるとしましょう。
レベル1
- ステージ1
- ステージ2
- ステージ3
レベル2
- ステージ4
- ステージ5
- ステージ6
レベル3
- ステージ7
- ステージ8
- ステージ9
ステージ5にはレベル2があるので、ステージ番号がわかっている場合、プログラムでレベル番号を見つけるにはどうすればよいですか?
次のレベルの階層があるとしましょう。
レベル1
レベル2
レベル3
ステージ5にはレベル2があるので、ステージ番号がわかっている場合、プログラムでレベル番号を見つけるにはどうすればよいですか?
うまくいけば、親ノードへのポインタがあります。
親ノードがなくなるまで、そのポインタをたどり続けます。ルートノードが見つかりました。あなたがあなたの深さを得るためにあなたが親までのポインターをたどらなければならない回数を数えなさい。
次の式を使用して、特定のステージに基づいて現在のレベルを見つけることができます。
level = ceil(stage / 3)
例:
ceil(5 / 3) = 2
ceil(9 / 3) = 3
ceil(1 / 3) = 1
ただし、この回答は、各レベルに正確に3つのステージがある場合にのみ機能します。
上手
Pythonを使用している場合、それは非常に簡単です。
>>> d = { 'level 1' : [ 'stage 1', 'stage 2', 'stage 3' ],
... 'level 2' : [ 'stage 4', 'stage 5', 'stage 6' ],
... 'level 3' : [ 'stage 7', 'stage 7', 'stage 9' ],
... }
>>> for key, val in d.items():
... if 'stage 5' in val:
... print key
ありがとうございました