Dada una lista de cadenas, clasifique la lista como números sin saber qué base se utiliza. Los valores de los dígitos también son desconocidos (es posible que '1'
> '2'
).
Como los valores de los dígitos son desconocidos, use la Ley de Benford (o la Ley del primer dígito) para determinar el valor relativo de los dígitos. Para las distribuciones que siguen la Ley de Benford, los dígitos de menor valor aparecen como un dígito principal con mayor frecuencia que los dígitos de mayor valor.
Reglas
- Esto es código golf
- La lista de cadenas puede provenir de una fuente de su elección (stdin, variable, archivo, usuario, etc.)
- Las cadenas están limitadas a caracteres ASCII.
- Los personajes que no aparecen como personajes principales tienen los valores más altos. (suponga que no hay ceros, y ordene estrictamente por frecuencia principal).
- Los caracteres que aparecen como dígitos iniciales el mismo número de veces que otros caracteres se ponderan por igual.
Ejemplo
Sin clasificar
['c','ca','ac','cc','a','ccc','cx','cz','cy']
Ordenados
['c','a','cc','ca','cz','cy','cx','ac','ccc']
Nota: En el ejemplo, 'cz'
, 'cy'
y 'cx'
puede aparecer como el 5, 6 y 7 º elementos en cualquier orden, ya que los dígitos 'x'
, 'y'
y 'z'
tienen el mismo valor.