Entrada:
Dos cadenas sin líneas nuevas o espacios en blanco.
Salida:
Ambas cadenas de entrada en líneas separadas, con espacios donde sea necesario † para una de las dos cadenas. Y una tercera línea con los personajes A, R, My , en representación añadió , eliminó , modificado , y sin cambios .
† Agregamos espacios a la cadena de entrada superior o inferior (si es necesario). El objetivo de este desafío es producir con la menor cantidad de cambios ( ARM) posible, también conocida como la distancia de Levenshtein .
Ejemplo:
Digamos que las cadenas de entrada son ABCDEFy AFBECD, entonces, la salida sería esta:
A B CDEF
AFBECD
A A RR
Aquí hay algunos otros posibles resultados no válidos como ejemplo (y hay muchos más):
ABCDEF
AFBECD
MMMMM
A BCDEF
AFBECD
A MMMR
AB CDEF
AFBECD
MAMMMR
ABC DEF
AFBECD
MMAMMR
ABC DEF
AFBECD
MMAA RR
ABCDEF
AFB ECD
MMR MA
AB CDEF // This doesn't make much sense,
AFBECD // but it's to show leading spaces are also allowed
AM A RR
Sin embargo, ninguno de estos tiene solo cuatro cambios, por lo que solo A B CDEF\nAFBECD \n A A RRes una salida válida para este desafío.
Reglas de desafío:
- Puede suponer que las cadenas de entrada no contendrán nuevas líneas o espacios.
- Las dos cadenas de entrada pueden ser de diferentes longitudes.
- Una de las dos cadenas de entrada debe permanecer como está, a excepción de los espacios iniciales / finales opcionales.
- Si sus idiomas no admiten nada más que ASCII, puede asumir que la entrada solo contendrá caracteres ASCII imprimibles.
- El formato de entrada y salida son flexibles. Puede tener tres cadenas separadas, una matriz de cadenas, una sola cadena con nuevas líneas, una matriz de caracteres 2D, etc.
- Se le permite usar algo más en lugar de
ARM, pero indique lo que ha usado (es decir123, oabc., etc.) - Si es posible más de una salida válida con la misma cantidad de cambios (
ARM), puede elegir si generará una de las salidas posibles o todas. Los espacios iniciales y finales son opcionales:
A B CDEF AFBECD A A RRo
"A B CDEF\nAFBECD\n A A RR" ^ Note there are no spaces here
Reglas generales:
- Este es el código de golf , por lo que la respuesta más corta en bytes gana.
No permita que los lenguajes de código de golf lo desalienten de publicar respuestas con idiomas que no sean de código. Trate de encontrar una respuesta lo más breve posible para 'cualquier' lenguaje de programación. - Se aplican reglas estándar para su respuesta, por lo que puede usar STDIN / STDOUT, funciones / método con los parámetros adecuados, programas completos. Tu llamada.
- Las lagunas predeterminadas están prohibidas.
- Si es posible, agregue un enlace con una prueba para su código.
- Además, agregue una explicación si es necesario.
Casos de prueba:
In: "ABCDEF" & "AFBECD"
Output (4 changes):
A B CDEF
AFBECD
A A RR
In: "This_is_an_example_text" & "This_is_a_test_as_example"
Possible output (13 changes):
This_is_an _example_text
This_is_a_test_as_example
MAAAAAAA RRRRR
In: "AaAaABBbBBcCcCc" & "abcABCabcABC"
Possible output (10 changes):
AaAaABBbBBcCcCc
abcABCab cABC
R MM MMMR MM R
In: "intf(){longr=java.util.concurrent.ThreadLocalRandom.current().nextLong(10000000000L);returnr>0?r%2:2;}" & "intf(){intr=(int)(Math.random()*10);returnr>0?r%2:2;}"
Possible output (60 changes):
intf(){longr=java.util.concurrent.ThreadLocalRandom.current().nextLong(10000000000L);returnr>0?r%2:2;}
intf(){i ntr=( i n t)(M ath.r andom ()* 10 );returnr>0?r%2:2;}
MR M MRRRRRR RRRR RRRRRR MMMRR MMMMRRR RRRRRRRR MRRRRRRRRR RRRRRRRRRR
In: "ABCDEF" & "XABCDF"
Output (2 changes):
ABCDEF
XABCD F
A R
In: "abC" & "ABC"
Output (2 changes):
abC
ABC
MM
