Простая задача: при наличии ряда положительных целых чисел найти число, которое содержит среди своих цифр самый длинный ряд последовательных цифр. Хитрость? Разрешено, чтобы цифры в прогонах обтекали возможные значения ( 0123456789
) и работали задом наперед. Так как 2345
, 89012
и 5432109
являются действительными пробегами последовательных цифр (но не 3456765
ни 321090123
как бег должен быть всегда в том же направлении, хотя 3456765
можно рассматривать как два прохода: 34567
а 765
). В случае галстуков верните первый.
Тестовые случаи:
Input: [3274569283, 387652323, 23987654323648, 2345687913624]
Output: 23987654323648
(The run is 98765432; run length: 8)
Input: [123012363672023, 098761766325432, 15890123456765]
Output: 15890123456765
(The run is 8901234567; run length: 10)
Input: [43, 19, 456]
Output: 456
Input: [5, 9, 0]
Output: 5
Input: [71232107, 7012347]
Output: 7012347
Input: [1234, 32109876]
Output: 32109876
Input: [9090, 123]
Output: 123
Примечания:
- На входе будет хотя бы одно число.
- Входные числа могут содержать начальные нули.
- Ввод и вывод могут быть в любом разумном формате . Таким образом, входные числа могут быть приняты в виде строк, списков цифр / символов ...
- Вывод может содержать конечные и / или начальные пробелы и переводы строк, пока число печатается.
- Это код-гольф , поэтому может выиграть самая короткая программа / функция для каждого языка!
[7,8,1,6]
максимальный пробег[7,8]
скорее равен[6,7,8]
, чем , да?78
в этом случае.Ответы:
Желе , 18 байт
Попробуйте онлайн!
Принимает и возвращает в виде списка цифр, чтобы сохранить начальные нули.
источник
3210
в первом номере, кстати)A
там.JavaScript (ES6),
10410298 байтВводит в виде списка списков цифр. Возвращает лучший.
Контрольные примеры
Показать фрагмент кода
источник
Желе ,
18 1615 байтМонадическая ссылка, содержащая список списков цифр и возвращающая крайнюю левую ссылку, содержащую максимальный пробег, как описано.
Попробуйте онлайн! или посмотрите набор тестов (с обработкой, чтобы сделать ввод-вывод похожим на вопрос).
Как?
источник
V€
не уверен насчет этого, возможно, вам придется считать ведущие нули.Python 2 , 118 байт
Принимает список списков цифр
a
; возвращает один из своих списков.Попробуйте онлайн!
источник
[[9,0,9,0],[1,2,3]]
.Шелуха , 20 байт
Принимает и возвращает список списков цифр. Попробуйте онлайн!
объяснение
источник
MATLAB, 130 байт
Возьмите входные данные в массив, массив разностей столбцов [X (2) -X (1), ..., X (n) -X (n-1)], проверьте наиболее частое значение в массиве (1 в порядке возрастания - 1 в противном случае), получить индекс для наиболее частого значения или -9, умноженный на наиболее частое значение (-9 встречается в порядке возрастания, в противном случае 9), найти последовательные индексы (т. Е. Разница которых равна 1) и сложить его пожалуйста, потому что уже поздно. Выход самый большой.
Попробуйте онлайн!
источник