Biorąc pod uwagę listę ciągów, posortuj listę jako liczby, nie wiedząc, która baza jest używana. Wartości cyfr również nie są znane (możliwe, że '1'> '2').
Ponieważ wartości cyfr są nieznane, użyj prawa Benforda (lub prawa pierwszej cyfry), aby określić względną wartość cyfr. W przypadku dystrybucji zgodnych z prawem Benforda cyfry o niższej wartości pojawiają się jako cyfra wiodąca częściej niż cyfry o wyższej wartości.
Zasady
- To jest golf golfowy
- Lista ciągów może pochodzić z wybranego przez ciebie źródła (standard, zmienna, plik, użytkownik itp.)
- Ciągi znaków są ograniczone do znaków ASCII.
- Postacie, które nie pojawiają się jako bohater wiodący, mają najwyższe wartości. (zakładając, że nie ma zer i sortuj ściśle według częstotliwości wiodącej).
- Znaki, które pojawiają się jako cyfry wiodące tyle samo razy, co inne znaki, są ważone jednakowo.
Przykład
Nieposortowany
['c','ca','ac','cc','a','ccc','cx','cz','cy']
Posortowane
['c','a','cc','ca','cz','cy','cx','ac','ccc']
Uwaga: W tym przykładzie 'cz', 'cy'a 'cx'może pojawić się jako 5., 6. i 7. elementów w dowolnej kolejności od cyfr 'x', 'y'i 'z'są równo ważone.