Se te da una matriz de numeros. En una "matriz montaña" la diferencia entre dos numeros adyacentes (ortogonalmente o diagonalmente) no es mas grande que 1. Un cambio consiste en incrementar un numero de la matriz en 1. Tu tarea es transformar la matriz inicial en una "matriz montaña" con menor cantidad de cambios
to_mountain([[2, 2, 1, 2],
[1, 0, 2, 1],
[1, 0, 1, 2],
[1, 2, 2, 1]])
# returns: [[2, 2, 1, 2],
# [1, 1, 2, 1],
# [1, 1, 1, 2],
# [1, 2, 2, 1]]
to_mountain([[2, 2, 1, 2],
[1, 0, 2, 1],
[1, 0, 1, 2],
[1, 2, 2, 4]])
# returns: [[2, 2, 1, 2],
# [1, 2, 2, 2],
# [1, 2, 3, 3],
# [1, 2, 3, 4]]
0 < len(matrix) <= 100 0 < len(matrix[0]) <= 100 0 <= n <= 1e9 y n es un entero por cada numero de la matriz
8 tests harcodeados and 126 test con valores aleatorios