2021-02-19: Dada una matriz de matriz bidimensional, se debe comenzar desde la esquina superior izquierda y terminar en la esquina inferior derecha. ¿Solo puede subir o bajar a lo largo del camino?
Esta debería ser una pregunta de algoritmo. El enfoque utilizado para este tipo de problema es la programación dinámica, que a menudo es demasiado compleja para usarse directamente para la búsqueda (primero en profundidad/primero en amplitud).
Supongamos que el tamaño de esta matriz bidimensional es m × n, y suponiendo que la "suma acumulativa de distancia mínima" a (i, j) es s (i, j), entonces la pregunta es s(metro, norte). Podemos establecer una expresión recursiva: s(i,j)=min(s(i-1,j),s(i,j-1)) data(i,j). Por supuesto, debemos prestar atención al manejo. los casos extremos de la matriz aquí.
Entonces, con esta expresión recursiva, podemos recurrir en s. Tenga cuidado de no utilizar la recursividad o la complejidad será demasiado alta. Cree una matriz bidimensional que contenga s, realice una recursión de bucle en la suma de la abscisa y la ordenada de 0 a m n, y listo.