รับรายการสตริงจัดเรียงรายการเป็นตัวเลขโดยไม่ทราบว่าใช้ฐานใด ค่าของตัวเลขนั้นไม่เป็นที่รู้จักเช่นกัน (เป็นไปได้ว่า'1'> '2')
เนื่องจากไม่ทราบค่าตัวเลขให้ใช้กฎของ Benford (หรือกฎของเลขหลักแรก) เพื่อกำหนดค่าสัมพัทธ์ของตัวเลข สำหรับการแจกแจงที่เป็นไปตามกฎหมายของ Benford ตัวเลขที่มีค่าต่ำกว่าจะปรากฏเป็นเลขนำหน้าบ่อยกว่าตัวเลขที่มีมูลค่าสูงกว่า
กฎระเบียบ
- นี่คือรหัสกอล์ฟ
- รายการของสตริงสามารถมาจากแหล่งที่คุณเลือก (stdin, ตัวแปร, ไฟล์, ผู้ใช้ ฯลฯ )
- สตริงมี จำกัด อักขระ ASCII
- อักขระที่ไม่ปรากฏเป็นตัวละครนำมีค่าสูงสุด (สมมติว่าไม่มีเลขศูนย์และจัดเรียงอย่างเคร่งครัดตามความถี่นำ)
- อักขระที่ปรากฏเป็นตัวเลขนำหน้าจำนวนครั้งเท่ากันกับตัวละครอื่น ๆ ที่มีน้ำหนักเท่ากัน
ตัวอย่าง
ไม่ได้เรียงลำดับ
['c','ca','ac','cc','a','ccc','cx','cz','cy']
เรียง
['c','a','cc','ca','cz','cy','cx','ac','ccc']
หมายเหตุ:ในตัวอย่าง'cz', 'cy'และ'cx'สามารถปรากฏเป็นที่ 5, 6 และ 7 องค์ประกอบในลำดับใด ๆ ตั้งแต่ตัวเลข'x', 'y'และ'z'มีน้ำหนักเท่า ๆ กัน