Вызов:
Входные данные:
Сортированный список натуральных чисел.
Выход:
Количество целых чисел, которые все еще имеют точно такой же индекс, после поворота цифр в каждом целом числе на количество индексов влево и повторной сортировки измененного списка.
Пример:
Входные данные: [8,49,73,102,259,762,2782,3383,9217,37846,89487,7471788]
Выходные данные (индексация на основе 0): 6
Выходные данные (индексация на основе 1):5
Почему?
Индексирование на основе 0:
After rotating each: [8,94,73,102,592,276,8227,3338,9217,63784,89487,7887471]
Sorted again: [8,73,94,102,276,592,3338,8227,9217,63784,89487,7887471]
Input indices: 0 1 2 3 4 5 6 7 8 9 10 11
Original input-list: [8,49,73,102,259,762,2782,3383,9217,37846,89487,7471788]
Modified list: [8,73,94,102,276,592,3338,8227,9217,63784,89487,7887471]
Modified indices: 0 2 1 3 5 4 7 6 8 9 10 11
Equal indices: ^ ^ ^ ^ ^ ^
So the output is: 6
Индексирование на основе 1:
After rotating each: [8,49,37,021,925,762,2278,3383,2179,37846,94878,8874717]
Sorted again: [8,(0)21,37,49,762,925,2179,2278,3383,37846,94878,8874717]
Input indices: 1 2 3 4 5 6 7 8 9 10 11 12
Original input-list: [8,49,73,102,259,762,2782,3383,9217,37846,89487,7471788]
Modified list: [8,21,37,49,762,925,2179,2278,3383,37846,94878,8874717]
Modified indices: 1 4 3 2 6 5 9 7 8 10 11 12
Equal indices: ^ ^ ^ ^ ^
So the output is: 5
Правила соревнований:
- Входной список гарантированно содержит только положительные целые числа.
- Входной список гарантированно сортируется по убыванию.
- Входной список гарантированно содержит как минимум два элемента.
- Как вы можете видеть выше, индексация на основе 0 и 1 допускается. Пожалуйста, укажите в своем ответе, какой из двух вы использовали, так как результаты могут отличаться соответственно!
- Начальные
0
s после поворота игнорируются, что видно из приведенного выше примера на основе 1, где целое число102
становится021
после поворота, а затем обрабатывается как21
. - Целые числа гарантированно уникальны во входном списке и гарантированно останутся уникальными после завершения поворотов.
- Обратите внимание, что мы только смотрим на позиции повернутых целых чисел в корреляции с позициями ввода, а не со значениями списка ввода. Чтобы прояснить, что я имею в виду под этим: с помощью списка ввода
[1234,3412]
и индексации на основе 1, список становится[2341,1234]
после поворота каждого целого числа его индексным числом раз, а затем, когда сортировка становится[1234,2341]
. Хотя и исходный список ввода, и повернутый список содержат целое число1234
в верхней позиции, они не совпадают! Вращенный1234
был3412
раньше. Таким образом, 1-индексированный вывод для этого входного списка -0
два целых числа поменялись местами. - Ввод гибкий. Может быть списком / потоком / массивом целых чисел / строк / цифр-массивов и т. Д. Пожалуйста, укажите, что вы использовали, если вы не принимаете входные данные как целые числа.
Основные правила:
- Это код-гольф , поэтому выигрывает самый короткий ответ в байтах.
Не позволяйте языкам кода-гольфа отговаривать вас от публикации ответов на языках, не относящихся к кодексу. Попробуйте придумать как можно более короткий ответ для «любого» языка программирования. - Стандартные правила применяются к вашему ответу с правилами ввода / вывода по умолчанию , поэтому вам разрешено использовать STDIN / STDOUT, функции / метод с правильными параметрами и типом возврата, полные программы. Ваш звонок.
- По умолчанию лазейки запрещены.
- Если возможно, добавьте ссылку с тестом для вашего кода (например, TIO ).
- Кроме того, добавление объяснения для вашего ответа настоятельно рекомендуется.
Тестовые случаи:
Input: [8, 49, 73, 102, 259, 762, 2782, 3383, 9217, 37846, 89487, 7471788]
0-based output: 6
1-based output: 5
Input: [1234, 3412]
0-based output: 2
1-based output: 0
Input: [2349, 2820, 17499, 21244, 29842, 31857, 46645, 56675, 61643, 61787]
0-based output: 3
1-based output: 0
Input: [4976, 11087, 18732, 22643, 52735]
0-based output: 2
1-based output: 3
Input: [4414, 5866, 7175, 8929, 14048, 16228, 16809, 19166, 24408, 25220, 29333, 44274, 47275, 47518, 53355]
0-based output: 4
1-based output: 4
Input: [11205, 16820, 63494]
0-based output: 1
1-based output: 3
Не стесняйтесь генерировать больше случайных тестовых случаев с (или черпать вдохновение) из этой незагладленной программы 05AB1E , где вход - это размер случайного списка (ПРИМЕЧАНИЕ: выходные данные этого генератора могут не соответствовать правилу « Целые числа гарантированно уникальны в входной список, и гарантированно останется уникальным после завершения поворотов ", так что имейте это в виду при его использовании.)