root и число goal (оно может быть дробным).
Верните номер ячейки из дерева, который ближе всего к goal. Если таких номеров два (один меньше goal, другой больше на то же расстояние), верните меньший.
Обход всего дерева работает, но попробуйте воспользоваться его упорядоченностью и пройти только один путь от корня.root=tree_node([20, 9, 31, 4, 15]), goal=17.4 → 15
Ближе всех к 17.4 значение 15: до него 2.4, а до 20 — 2.6.
root=tree_node([20, 9, 31, 4, 15]), goal=25.5 → 20
20 и 31 отстоят от 25.5 на 5.5 и 5.5 — ничья, берём меньшее, 20.
root=tree_node([7]), goal=-3.0 → 7
root=tree_node([20, 9, 31, 4, 15]), goal=17.4
15
«Запустить» — первые 3 теста у тебя в браузере, «Отправить» — все 42 теста на сервере, включая скрытые.