Виклик:
Дано список цілих чисел, сортуйте по низхідному порядку за їх найбільшою цифрою. Порядок для чисел з однаковою великою цифрою потім сортується за другою найбільшою цифрою тощо.
Ми ігноруємо дублювані цифри в числах. І якщо всі цифри в числі однакові, порядок цих чисел у списку може бути будь-яким потрібним вам способом.
Приклад:
Input: [123, 478, -904, 62778, 0, -73, 8491, 3120, 6458, -7738, 373]
Possible outputs: [8491, -904, 62778, 478, -7738, 6458, 373, -73, 3120, 123, 0]
[8491, -904, 62778, 478, -7738, 6458, -73, 373, 3120, 123, 0]
Чому? Ось відповідні цифри, за якими були відсортовані номери:
Output:
[8491, -904, 62778, 478, -7738, 6458, 373, -73, 3120, 123, 0 ]
Relevant digits they were sorted on:
[[9,8], [9,4], [8,7,6], [8,7,4], [8,7,3], [8,6], [7,3], [7,3], [3,2,1,0], [3,2,1], [0]]
Правила виклику:
- Ми ігноруємо дубльовані цифри, так
478і-7738будуть замовлені478, -7738, так як найбільші цифри[8,7,4]і[8,7,3], а не[8,7,4]та[8,7,7,3]. - Якщо кілька чисел мають однакові цифри, то порядок їх може бути будь-яким. Так
373і-73можуть бути відсортовані як373, -73або-73, 373(цифри[7,3]для обох цих чисел). - Якщо число не містить більше цифр для перевірки, воно буде розміщене на звороті відповідних номерів. Так
123і3120буде відсортовано як3120, 123, бо найбільші цифри[3,2,1]однакові, але0приходять ранішеnone. - Можна припустити, що всі цифри на вході знаходяться в діапазоні
[-999999,999999]. - В результаті вистачає лише одного з можливих результатів, але вам дозволяється виводити всі можливі результати, де сублісти можуть бути в будь-якій перестановці, якщо хочете (хоча, я сумніваюся, це дозволить зберегти байти на будь-якій мові).
Загальні правила:
- Це код-гольф , тому найкоротша відповідь у байтах виграє.
Не дозволяйте мовам коду-гольфу відштовхувати вас від публікації відповідей з не кодовими гольф-мовами. Спробуйте придумати якомога коротшу відповідь на "будь-яку" мову програмування. - Для вашої відповіді застосовуються стандартні правила з правилами вводу / виводу за замовчуванням , тому вам дозволяється використовувати STDIN / STDOUT, функції / метод із відповідними параметрами та повним програмами типу повернення. Твій дзвінок.
- Лазівки за замовчуванням заборонені.
- Якщо можливо, додайте посилання з тестом для вашого коду (тобто TIO ).
- Також настійно рекомендується додавати пояснення до своєї відповіді.
Тестові приклади:
Input: [123, 478, -904, 62778, 0, -73, 8491, 3120, 6458, -7738, 373]
Possible outputs: [8491, -904, 62778, 478, -7738, 6458, 373, -73, 3120, 123, 0]
[8491, -904, 62778, 478, -7738, 6458, -73, 373, 3120, 123, 0]
Input: [11, -312, 902, 23, 321, 2132, 34202, -34, -382]
Possible outputs: [902, -382, 34202, -34, -312, 321, 2132, 23, 11]
[902, -382, 34202, -34, 2132, -312, 321, 23, 11]
etc. The sublist [-312, 321, 2132] can be in any permutation
Input: [9, 44, 2212, 4, 6, 6, 1, 2, 192, 21, 29384, 0]
Possible outputs: [29384, 192, 9, 6, 6, 4, 44, 2212, 21, 2, 1, 0]
[29384, 192, 9, 6, 6, 44, 4, 2212, 21, 2, 1, 0]
etc. The sublists [4, 44] and [2212, 21] can be in any permutation
Input: [44, -88, 9, 233, -3, 14, 101, 77, 555, 67]
Output: [9, -88, 67, 77, 555, 14, 44, 233, -3, 101]
m:g/\d./на.abs.comb: tio.run/…