Preguntas sobre juegos de palabras
Panamá, tattarrattat, semordnilaps y por qué invertir una cadena es más difícil de lo que parece.
¿Es "A man, a plan, a canal: Panama" realmente un palíndromo?+
Con la lectura a la que todo el mundo se refiere, sí. Quita las mayúsculas, los espacios, las comas y los dos puntos y te queda amanaplanacanalpanama, veintiuna letras que se leen igual en ambos sentidos. Compárala exactamente como está escrita y falla de inmediato, porque el primer carácter es una A mayúscula y el último una a minúscula. No es un tecnicismo que convenga esconder: es justo la razón por la que esta página pone las mayúsculas, los espacios y la puntuación en interruptores y te muestra la cadena que realmente comparó. La frase suele atribuirse a Leigh Mercer, que la publicó en Notes and Queries en 1948. Otros miembros más largos de la misma familia son "Doc, note: I dissent. A fast never prevents a fatness. I diet on cod." y el poema palindrómico de 224 palabras de Demetri Martin, y ambos pasan aquí por la misma razón.
¿Cuál es el palíndromo más largo en inglés?+
Depende de lo que aceptes como palabra. El más largo del Oxford English Dictionary es tattarrattat, de doce letras, acuñado por James Joyce en Ulises para una llamada a la puerta. Los químicos proponen detartrated, de once letras. El más largo de los diccionarios corrientes suele ser redivider, de nueve letras, con rotator, reviver y deified, de siete cada uno. Fuera del inglés el récord es más fácil de batir: el finés tiene saippuakivikauppias, de diecinueve letras, un vendedor de esteatita, y es un compuesto genuino, no una invención. Las frases completas llegan mucho más lejos, y el límite práctico es la paciencia más que el idioma. Pega cualquiera de estas palabras en el cuadro y el panel del tramo más largo te confirmará el recuento en lugar de pedirte que confíes en una lista.
¿Cuentan los espacios y la puntuación?+
Solo si tú lo decides, y la respuesta honesta es que ambas lecturas son legítimas. La lectura estricta trata el texto como una secuencia de caracteres y pregunta si esa secuencia es su propia inversa, lo que significa que un espacio, una coma y una mayúscula son caracteres como cualquier otro. La lectura flexible trata el palíndromo como una propiedad de las letras y descarta el resto, que es lo que hace posibles los palíndromos del tamaño de una frase. Esta página usa por defecto la lectura flexible porque es lo que la gente pregunta cuando escribe una frase, y lo dice en el veredicto: una frase que solo pasa al ignorar la puntuación se etiqueta como aprobada en lectura flexible en lugar de darse por buena sin decir nada. Ese interruptor nunca elimina dígitos, símbolos ni emojis, porque son contenido: 12321 es un palíndromo y debe indicarse como tal.
¿Qué es un semordnilap?+
Una palabra que, leída al revés, forma otra distinta. Stressed se convierte en desserts, drawer en reward, diaper en repaid, y el propio nombre es la palabra inglesa palindromes escrita al revés. No es un palíndromo, y esa es la gracia: un palíndromo se lee igual en ambos sentidos y un semordnilap se lee como otra cosa. Esta página no puede decirte que has encontrado uno, porque para eso hace falta un diccionario y aquí no hay ninguna lista de palabras. Lo que sí hace es mostrar la cadena invertida, que es la única parte que de verdad necesita una máquina. Léela y juzga por ti mismo. La misma limitación explica por qué la parte de anagramas compara dos textos que tú proporcionas en lugar de buscar anagramas de uno: buscar una reordenación desconocida exige una lista de palabras, y una lista de palabras exige un idioma, una norma ortográfica y una discusión sobre los nombres propios.
¿Distinguen los anagramas entre mayúsculas y minúsculas?+
Por convención no, y precisamente por eso esta página ignora las mayúsculas por defecto. Nadie dice que Listen y Silent no sean anagramas porque uno empiece con mayúscula. Desactiva el interruptor de mayúsculas y entonces sí fallan, y puedes ver por qué en la tabla de diferencias: al primer texto le sobran una L mayúscula y una s minúscula, y al segundo una S mayúscula y una l minúscula, porque para una máquina una L mayúscula y una l minúscula son caracteres distintos. A veces esa vista es justo lo que quieres, por ejemplo al comprobar si dos identificadores usan los mismos caracteres. La mayoría de las veces no lo es, y por eso la equiparación de mayúsculas y minúsculas está activada por defecto. Los acentos funcionan igual: si los ignoras, résumé coincide con resume; si los mantienes, é es simplemente una letra distinta de e.
¿Qué es un anagrama perfecto?+
Dos textos son anagramas cuando sus letras forman el mismo multiconjunto: las mismas letras, cada una repetida el mismo número de veces, y solo cambia el orden. La parte del multiconjunto es la que la gente olvida. Un anagrama no compara qué letras aparecen, compara cuántas hay de cada una, y por eso la tabla de diferencias cuenta lo que sobra en lugar de limitarse a enumerar letras. Un anagrama perfecto, a veces llamado anagrama verdadero, es aquel en el que el segundo texto es una reordenación real y no el mismo texto otra vez, y esta página separa esos dos resultados en lugar de responder que sí a ambos. También nombra el caso especial en el que ninguna letra se repite, como en Listen y Silent, que es una permutación de seis letras distintas. Vale la pena probar los clásicos: Eleven plus two y Twelve plus one usan las mismas trece letras y significan el mismo número, y The Morse code se reordena como Here come dots.
¿Qué palabras se pueden reordenar para formar un palíndromo?+
Hay una prueba de una línea, y no consiste en probar reordenaciones. Un multiconjunto de letras puede disponerse como palíndromo exactamente cuando, como mucho, una letra aparece un número impar de veces. Todas las demás letras tienen que emparejarse simétricamente alrededor del centro, y la única letra impar, si la hay, es la que va en el medio. Así, carrace funciona, porque tiene dos c, dos a, dos r y una e, y la e va en el medio para dar racecar. Silent no funciona, porque sus seis letras aparecen una sola vez y solo una de ellas puede ocupar el centro. Esta página hace esa comprobación de paridad con lo que escribas, nombra la letra central cuando la hay y muestra una disposición que funciona, para que puedas comprobar la afirmación en lugar de creerla sin más.
¿Se invierten correctamente los emojis y los caracteres acentuados?+
Aquí sí, y vale la pena saber por qué no es automático. Las cadenas de JavaScript son secuencias de unidades de código UTF-16, así que la inversión habitual de una línea, dividir la cadena en caracteres e invertir el array, corrompe todo lo que no sea una sola unidad de código. Un emoji es un par subrogado y vuelve como dos mitades no válidas. Una bandera son dos indicadores regionales y vuelve como otra bandera o como nada. Una é escrita como e seguida de un acento agudo combinante vuelve con el acento pegado a la letra que ahora la precede. Recorrer puntos de código en su lugar arregla los dos primeros casos pero no el tercero, y sigue rompiendo una secuencia ZWJ como 🧑🚀 en una persona, un carácter de unión invisible y un cohete. Esta página segmenta en grupos de grafemas, las unidades que un lector llamaría caracteres, así que los cuatro casos sobreviven al viaje de ida y vuelta. Prueba 🧑🚀 Never odd or even 🧑🚀 en el cuadro.
¿Cómo encuentra el palíndromo más largo dentro de mi texto?+
Con el algoritmo de Manacher, que encuentra la subcadena palindrómica más larga en un tiempo proporcional a la longitud del texto. El método obvio es tratar cada posición como un posible centro y crecer hacia fuera mientras los caracteres coincidan, lo cual va bien con prosa normal y es cuadrático en el peor caso: una cadena de diez mil letras idénticas hace que cada centro se expanda casi hasta el final. La idea de Manacher es que las expansiones ya hechas te dicen desde dónde puede empezar la siguiente, porque un palíndromo dentro del cual estás es un espejo y su mitad izquierda predice la derecha. La implementación de esta página intercala separadores entre los caracteres para que los tramos de longitud par e impar se encuentren con el mismo bucle, y se comprobó contra una búsqueda por fuerza bruta en miles de cadenas aleatorias. Por eso la página no tiene límite de tamaño para esta respuesta ni un modo alternativo más lento.
¿Cuánto texto puedo comprobar, y sale algo de mi navegador?+
Cada cuadro admite hasta 20,000 caracteres, unas tres mil palabras, y nada de eso va a ninguna parte. No hay subida, ni petición, ni copia guardada: cada recuento de la página se calcula en esta pestaña con JavaScript simple, que es también la razón por la que la página puede decir que una cadena es un palíndromo pero nunca si es una palabra. El límite existe para evitar que pegar varios megabytes congele la pestaña mientras se divide en caracteres y se dibuja, no porque la aritmética sea costosa. Dentro del límite todo es lineal: contar letras, comparar las dos tablas de frecuencia, comprobar la paridad y encontrar el tramo palindrómico más largo requieren una sola pasada. Si necesitas un texto más largo, lo que preguntas casi seguro se refiere a una frase dentro de él, así que pega esa.