function shortPathWithDistances(graph, start, end) {
const distances = {};
const visited = new Set();
const path = {};
const edgeWeights = {}; // Новый объект для хранения весов ребер
for (const key in graph) {
if (key !== start) {
distances[key] = Infinity;
} else {
distances[start] = 0;
}
}
while (!visited.has(end)) {
let lowestDistance = Infinity;
let node = null;
for (const key in distances) {
if (lowestDistance > distances[key] && !visited.has(key)) {
lowestDistance = distances[key];
node = key;
}
}
const neighbors = graph[node];
for (const key in neighbors) {
const newDistance = distances[node] + neighbors[key];
if (newDistance < distances[key]) {
distances[key] = newDistance;
path[key] = node;
edgeWeights[key] = neighbors[key]; // Сохраняем вес ребра
}
}
visited.add(node);
}
const shortPath = [];
let current = end;
while (current !== start) {
const currentWithDistance = { node: current, edgeWeight: edgeWeights[current] };
shortPath.unshift(currentWithDistance);
current = path[current];
}
shortPath.unshift({ node: start, edgeWeight: 0 });
return shortPath;
}# Dockerfile
...
# Установка прав доступа в скрипте инициализации
COPY ./set-permissions.sh /usr/local/bin/set-permissions.sh
RUN chmod +x /usr/local/bin/set-permissions.sh
# Запуск скрипта при старте контейнера
ENTRYPOINT ["set-permissions.sh"]
CMD ["apache2-foreground"]# set-permissions.sh
#!/bin/bash
chmod o+w /app/web/uploads
chmod o+w /app/web/uploads/result
exec "$@"function watcher() {
gulp.watch('./src/style.css', { delay: 500 }, styles);
}
// в данном случае будет задержка в полсекунды после сохранения файла. LANG=ru_RU.UTF-8
LANGUAGE=
LC_CTYPE="ru_RU.UTF-8"
LC_NUMERIC="ru_RU.UTF-8"
LC_TIME="ru_RU.UTF-8"
LC_COLLATE="ru_RU.UTF-8"
LC_MONETARY="ru_RU.UTF-8"
LC_MESSAGES="ru_RU.UTF-8"
LC_PAPER="ru_RU.UTF-8"
LC_NAME="ru_RU.UTF-8"
LC_ADDRESS="ru_RU.UTF-8"
LC_TELEPHONE="ru_RU.UTF-8"
LC_MEASUREMENT="ru_RU.UTF-8"
LC_IDENTIFICATION="ru_RU.UTF-8"
LC_ALL=но когда доходит до задач, у меня появляются проблемы
где свойства firstName, lastName можно читать и менять.
get firstName() {
return this._firstName;
}npx i create-react-appnpx create-react-app my-app // выберите элемент, который вы хотите отслеживать
const targetNode = document.querySelector('.wpcf7-response-output');
let successText;
// создайте экземпляр MutationObserver
const observer = new MutationObserver(function(mutationsList) {
for(let mutation of mutationsList) {
if (mutation.type === 'childList') {
// если тип мутации является childList (изменение дочерних элементов), то выполните действия
successText = mutation.target.textContent;
console.log(successText, 'in Observer');
}
}
});
// настройте параметры наблюдения
const config = { attributes: true, childList: true, subtree: true };
// начните отслеживать элемент
observer.observe(targetNode, config);
const submitBtns = document.querySelector('button');
submitBtns.addEventListener('click', function() {
// изменяем контент через 3 сек после клика
setTimeout(function() {
document.querySelector('.wpcf7-response-output').textContent = 'New content';
}, 3000);
});сильно углубиться + изучать машинное обучение + профильный ЕГЭ по математике