[pyar] Problema interesante: el anti-string
Nicolas Sarubbi
nicosarubbi en gmail.com
Jue Ago 5 12:59:12 ART 2010
2010/8/5 Claudio Freire <klaussfreire en gmail.com>:
>>
>> On Wed, Aug 04, 2010 at 04:03:02PM -0300, Roberto Alsina wrote:
>> >
>> > Forma más fácil del problema:
>> >
>> > Dado un string S, crear una funcion f tal que S1>S2 => f(S1) < f(S2)
>> >
>
> Digo... ¿no es más fácil crear un wrapper del str original que compare al
> revés y chau?
>
Si intentamos encontrar una funcion que transforme una cadena en otra,
caracter por caracter, encontramos otro problema que va mas ayá de
ordenar unicode... ¿ que pasa si S2.startswith(s1) ?? ¿y cual es la
transformación de la cadena vacía '' ?
por ejemplo:
'a' < 'aa' <==> f('a') > f('aa')
Suponiendo una función fácil que transforme las 'a' en 'z', resulta:
f('') = ''
f('a') = 'z'
f('aa') = 'zz'
entonces: ¿¿ '' < 'a' < 'aa' <=/=> '' > 'z' > 'zz' ??
Una posibilidad es agregar al final de la cadena un carácter mayor a
cualquier otro e irrepetible en el antistr.
Por ejemplo, suponiendo que '~' sea dicho carácter:
f('') = '~'
f('a') = 'z~'
f('aa') = 'zz~'
'' < 'a' < 'aa' <==> '~' > 'z~' > 'zz~'
Pero entonces la cadena antistr no debe contener otro carácter mayor o
igual a '~'.
La clase antistr de Claudio no tiene este problema, porque cambia la
clase del objeto, en lugar de cambiar su contenido.
saludos... nico.
More information about the pyar
mailing list