Минимальные затраты
Дана матрица A элемент [i, j] которого показывает нужную сумму для перемещения из позиции i в позицию j. У нас есть числа k1 и k2. k1 показывает номер строки максимального элемента главной диагонали матрицы а k2 номер столба максимального элемента побочной диагонали. Нужно найти минимальную затрату, которую можно сделать для перемещения из позиции [0, 0] в позицию [k1, k2].
Например A = [ [1, 2, 3], [4, 5, 6], [1, 5, 3] ] в этом случае k1 = k2 = 1 И в этом случае наша задача продвигаться в позицию [1, 1]. Оптимальным вариантом будет продвигаться в позицию [0, 1] и потом в позицию [1, 1]. В этом случае A[0, 0] + A[0, 1] = 3. function minCost (x) { let k1 = 0; let k2 = 0; let max1 = x[0][0]; let max2 = x[0][x.length - 1]; for (var i = 0; i < x.length; i++) { for (var j = 0; j < x[i].length; j++) { if (i == j) { if (x[i][j] > max1) { max1 = x[i][j]; k1 = i; } } if (i + j == x.length - 1) { if (x[i][j] > max2) { max2 = x[i][j] k2 = j; } } } } } console.log(minCost([[1, 2, 3], [4, 8, 2], [1, 5, 3]])) // 3 console.log(minCost([[1, 9, 1], [4, 0, 9], [0, 7, 9]])) // 12 console.log(minCost([[1, 9, 9], [4, 1, 9], [12, 7, 9]])) // 5 console.log(minCost([[0, 0, 0], [0, 0, 0], [0, 0, 0]])) // 0 Нужно написать функцию которая получает матрицу и вернет минимальную затрату которая нужна для перемещения из точки k1 в точку k2. Поможете решить задачу? |
Часовой пояс GMT +3, время: 05:02. |