@Camiastrw

Как найти разницу между вершинами в матрице?

Есть матрица, по ней ищу кратчайший путь с верхей левой [0][0] точки в правую нижнюю [N - 1][M - 1].
Как найти разницу между вершинами которые вошли в этот путь?

function findPath(matrix) {
    let N = matrix.length
    let M = matrix[0].length

    // for 1st column
    for (let i = 1; i < N; i++) {
        matrix[i][0] += matrix[i - 1][0];
    }
    // for 1st row
    for (let j = 1; j < M; j++) {
        matrix[0][j] += matrix[0][j - 1];
    }

    // for rest of the 2d matrix
    for (let i = 1; i < N; i++) {
        for (let j = 1; j < M; j++) {       
            matrix[i][j] += Math.min(matrix[i - 1][j], matrix[i][j - 1])
        }
    }
    return {matrix[N - 1][M - 1] };
}

let qwe = [ [1, 2, 1],
                  [2, 8, 2],
                  [1, 5, 3]
];
console.log(findPath(qwe))
  • Вопрос задан
  • 71 просмотр
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы