Chúng ta đều biết các thuật toán sắp xếp lạ mắt khác nhau, nhưng không có thuật toán nào trong số chúng cung cấp cho chúng ta những con số theo cách dễ phát âm. Để khắc phục điều này, tôi đề xuất sử dụng Phát âm, cách tự nhiên nhất để sắp xếp danh sách các số.
Cách phát âm
Các quy tắc chính thức để phát âm số (trong thử thách này) là các chữ số được phát âm từng cái một và chuỗi kết quả được sắp xếp theo thứ tự từ điển. Ví dụ, điều này có nghĩa là số 845
được phát âm "eight four five"
và nên được sắp xếp tương ứng.
Số âm
Số âm được phát âm bằng cách thêm từ "minus"
. Do đó, -23
được phát âm là "minus two three"
. Lưu ý rằng điều này làm cho các số âm kết thúc ở giữa đầu ra, ngay giữa các số bắt đầu bằng 4
(bốn) và 9
(chín).
Theo hướng dẫn, thứ tự chính thức của WordsSort ™ là:
- tám
- số năm
- bốn
- dấu trừ
- chín
- một
- bảy
- sáu
- số ba
- hai
- số không
Đó là,
8, 5, 4, -, 9, 1, 7, 6, 3, 2, 0
Đầu vào
Danh sách các số nguyên trong phạm vi , chứa tối đa 100 phần tử. Đầu vào dưới dạng danh sách các chuỗi không được phép. Nếu ngôn ngữ của bạn không hỗ trợ đầu vào dưới dạng danh sách, được phép cung cấp đầu vào dưới dạng số nguyên riêng biệt.
Đầu vào sẽ không chứa bất kỳ số không hợp lệ hoặc bất kỳ số nào bắt đầu bằng 0 (ngoại trừ chính số 0). Đầu vào nói chung sẽ không được sắp xếp, nó có thể được đưa ra theo bất kỳ thứ tự nào.
Đầu ra
Các số nguyên tương tự, theo thứ tự Phát âm. Lưu ý rằng các số chỉ nên được chuyển đổi thành cách phát âm của chúng để có được sự sắp xếp, đầu ra không được chứa bất kỳ chuỗi nào.
Ví dụ
Đối với các ví dụ, bước giữa (được gói trong ngoặc đơn) chỉ đóng vai trò là một hướng dẫn và không phải là một phần của đầu ra.
[1, 2, 3] -> (['one', 'two', 'three']) -> [1, 3, 2]
[-1, 0, 1, 2] -> (['minus one', 'zero', 'one', 'two']) -> [-1, 1, 2, 0]
[-100, 45, 96] -> (['minus one zero zero', 'four five', 'nine six']) -> [45, -100, 96]
[11, 12, 13, 134, 135] -> (['one one', 'one two', 'one three', 'one three four', 'one three five']) -> [11, 13, 135, 134, 12]
Ngoài ra còn có một kịch bản để xác minh kết quả của bạn .