Escriba una función recursiva para llenar una matriz MXN con valores de 1 a M * N en el patrón ESPIRAL (debería funcionar para cualquier M> = 0 y cualquier N> = 0).

Llena la matriz con 0.
Luego escriba una rutina recursiva para llenar la fila superior, la columna derecha, la fila inferior y la columna izquierda con números secuenciales y luego emita una llamada recursiva con el resto de la matriz con índices de límite modificados . Funcionará para todos los tamaños MxN (incluyendo a) M = 1, b) N = 1, c) M = N, d) ambos M, N igual a 1).
/ * índice de fila de inicio de sri, índice de columna de inicio de ciencia, índice de fila de finalización eri, índice de columna de terminación eci * /

espiral vacía (int A [] [20], int m, int n, int num, int sri, int sci, int eri, int eci)
{
int i, j;
si (num <= m * n)
{
para (j = sci; j <= eci && A [sri] [j] == 0 && num <= m * n; j ++)
A [sri] [j] = num ++;
para (i = sri + 1; i <= eri && A [i] [eci] == 0 && num <= m * n; i ++)
A [i] [eci] = num ++;
para (j = eci-1; j> = sci && A [eri] [j] == 0 && num <= m * n; j–)
A [eri] [j] = num ++;
para (i = eri-1; i> = sri-1 && A [i] [sci] == 0 && num <= m * n; i–)
A [i] [sci] = num ++;
espiral (A, m, n, num, ++ sri, ++ sci, –eri, –eci);
}
}

More Interesting

Codificación de entrevistas: ¿Es mejor manejar explícitamente los casos base en los comienzos o manejarlos dentro de la solución general?

¿Cuáles son algunas consultas SQL que un estadístico debería poder responder / escribir durante una entrevista técnica para un rol orientado a las estadísticas?

¿Cuáles son las preguntas frecuentes de Java?

¿Cuáles son algunas preguntas que se le pueden hacer a un desarrollador de React.js en una entrevista técnica?

¿Cuáles son los temas en mecánica de los cuales se hacen preguntas en la entrevista NPCIL?

¿Podría alguien explicar cómo este código dicta si la cadena tiene todos los caracteres únicos o no?

Con el método de la mediana de las medianas para seleccionar el kth elemento más grande en una matriz de tamaño n, ¿cuál es el tamaño más grande posible del subproblema?

¿Cómo se convirtieron las preguntas sobre estructuras de datos y algoritmos en la norma para las entrevistas tecnológicas?

¿Cómo se puede obtener un puntaje de 3+ de manera consistente en cada ronda de entrevistas de Google?

¿La velocidad de escritura de un candidato indica algo sobre su habilidad como desarrollador?

¿Cuáles son algunas de las preguntas técnicas en la entrevista de Facebook?

Cómo preparar mi programación C (codificación) para entrevistas

Constantemente me quedo atascado en las preguntas de la entrevista de programación técnica incapaz de progresar. ¿Hay alguna forma de practicar y mejorar?

Cómo imprimir todas las subsecuencias comunes más largas de dos cadenas

¿Cómo puedo equilibrar los paréntesis en una cadena usando un número mínimo de ediciones?