Интерпретировать свободные диапазоны
ListSharp - это интерпретируемый язык программирования, который имеет много функций, одна из которых - это создатель диапазона на основе 1 индекса, который работает следующим образом:
Вы определяете диапазон как (INT) TO (INT)
или только (INT)
где оба или одно целое может перейти от минимального до максимального значения int32
Затем вы можете использовать эти диапазоны для извлечения элементов массива, не боясь перешагнуть его границы.
следовательно:
1 TO 5
генерирует: {1,2,3,4,5}
3
генерирует: {3}
Диапазоны можно сложить с помощью AND
оператора
1 TO 5 AND 3 TO 6
генерирует: {1,2,3,4,5,3,4,5,6}
помните, что это работает и с отрицательными числами
3 TO -3
генерирует: {3,2,1,0,-1,-2,-3}
Проблема заключается в следующем:
вход
Массив символов и ранее определенное предложение диапазона в виде строки
Выход
Элементы в позициях диапазона на основе индекса 1 (несуществующие / отрицательные индексы переводятся в пустой символ)
Как победить
В качестве задачи по коду для игры в гольф вы должны создать программу с самым коротким числом байтов, чтобы выиграть
Было отмечено, что пустых символов не существует, поэтому вы должны их игнорировать (я только показал их здесь, чтобы было легче понять, но это запутало людей)
Тестовые случаи:
input array is:
{'H','e','l','l','o',' ','W','o','r','l','d'}
range clause:
"1 TO 3" => "Hel"
"5" => "o"
"-10 TO 10" => "Hello Worl"
"0 AND 2 AND 4" => "el"
"8 TO 3" => "oW oll"
"-300 AND 300" => ""
"1 TO 3 AND 3 TO 1" => "HelleH"
"-20 TO 0 AND 1 AND 4" => "Hl"
3 TO 3
когда-нибудь вход, и каков ожидаемый результат?
AND
кратных диапазонов. Кроме того, Вы не ответили, можем ли мы использовать индексацию с нуля, которая является стандартной в большинстве языков.
"0 TO 2"
=>{'H', 'e', 'l'}
?