Esquema de compresión ineficiente de Searchlight
Escribe un algoritmo de compresión y descompresión para SICS que funcione de la siguiente manera: Encuentra los caracteres más populares y, en orden de popularidad, asígnales un valor hexadecimal de 0 a E, F0 a FE, FF0 a FFE, etc. Nota: una F indica que hay más nibbles por venir, cualquier otra cosa es el nibble terminal.
Comprime el mensaje reemplazando los caracteres por su valor asignado. A continuación se muestra el texto de muestra, pero el código debería funcionar universalmente para cualquier texto dado.
Caso de prueba:
texto = “Marley estaba muerto: para empezar. No hay duda alguna al respecto. El registro de su entierro fue firmado por el clérigo, el empleado, el sepulturero y el principal doliente. Scrooge lo firmó: y el nombre de Scrooge era respetado en ‘Change, por cualquier cosa a la que él decidiera dedicarse. El viejo Marley estaba muerto como un clavo de puerta. ¡Cuidado! No quiero decir que sé, por mi propio conocimiento, qué hay de particularmente muerto en un clavo de puerta. Podría haber estado inclinado, yo mismo, a considerar un clavo de ataúd como la pieza de herrería más muerta del oficio. Pero la sabiduría de nuestros antepasados está en la metáfora; y mis manos profanadoras no la perturbarán, o el país está condenado. Por lo tanto, permíteme repetir, enfáticamente, que Marley estaba muerto como un clavo de puerta.”
solución = “f826b1d0e2a08128fd0340f61f0750e739f50fe916107a054084cf630e9231ff01602f64c303923f5 0fe91061f07a31604f3097a0f6c672b0e2a0a7f05180f6d03910f2b16f0df125f403910f2b16f9f4039 10c581632f916f4025803910f2971f30f14c6516f50ff1f2644f010a7f0518073fd02580ff1f2644f01fa a052f110e2a0f04480cf7450faff2925f01f40f346025d3975f00910f294a10340f7c3097a09258034f 50ff3b80f826b1d0e2a02a0812802a0208446fb527bf50f8758ff40fc0845fa30f11250340a2d03923 0fc0f954ef404f30f1d04e50f954eb18f01f40e92303916107a0f72637f2cb26bd0812802f64c30208 446fb527bf50fc0f17f093092ff010f6115075f2b7518f40f1da1bf3f4034061f0268020f24f3f375fb52 7b02a0391081281a30f771f2104f307645f145f016d0750391036281f50ff5c303910e7a84f104f30 4c6025f21a346a07a07503910a7f17b1ff602580f1d0c592bb4e1809258a0a92bb0543087a3c6f6 073f404603910ff24c536dfaa084510f346f50ff74c0e7bb039161f34610f716f1730f11034061f7123 f401f1f79237f22bbdf4039230f826b1d0e2a02a0812802a0208446fb527bf5
davy.ai
Solución
Algoritmo de Compresión
Algoritmo de Descompresión
Salida: