В коде Visual Studio откройте «пользовательские настройки»: ctrl + p
и введите >sett
нажмите enter
Это откроет настройки по умолчанию с левой стороны и пользовательские настройки с правой стороны.
Просто добавьте путь к git.exe в пользовательских настройках
"git.path": "C:\\Users\\[WINDOWS_USER]\\AppData\\Local\\Programs\\Git\\bin\\git.exe"
Замените [WINDOWS_USER] своим именем пользователя.
Перезапустите Visual Studio Code
Редактировать Неправильный ответ, не решить проблему, заданную ОП (см. Комментарий)
Старый ответ (до редактирования) Вы можете видеть, что это Проблема (как и большинство проблем на деревьях) может быть решена с помощью рекурсивного подхода. Это потому, что sum value
узла зависит только от sum values
и соответствующих ranks
его дочерних элементов.
Вот псевдокод, описывающий решение.
get_sum(my_node, result_arr):
my_sum = 0
for child in my_node.children():
get_sum(child, result_arr) // we compute the sum value of the children
if rank(child) >= rank(my_node): // if child node is big enough add its sum
my_sum += result_arr[child]
result_arr[my_node] = my_sum // store the result somewhere
Это алгоритм, основанный на BFS, который должен работать в O(n)
с n
количеством узлов в вашем дереве. Чтобы получить значения для всех узлов, вызовите эту рекурсивную функцию для корневого узла вашего дерева.