Этот анекдот содержит следующий интригующий обмен:
"Хорошо, Фред", прервала Ави. «Тогда как бы вы изменили это, чтобы избежать повторяющихся записей?»
«О, просто поменяйте это на отрицательное».
Хотя это утверждение не является точным в контексте, я действительно задаюсь вопросом, есть ли какой-то вероятный код, для которого это имеет смысл.
Ваша задача - написать код (программу, функцию, что угодно), который соответствует этим критериям:
- Объединяет два списка ввода в один, сохраняя дубликаты. [edit: При желании вы можете предположить, что они являются целыми числами и / или что сами списки уникальны. Вы не можете предполагать, что целые числа положительны (один ответ, который делает это, встречен).]
- Буква «1» появляется где-то в коде. Если вы измените это на литерал «-1», код делает то же самое, но удаляет дубликаты.
- Код не просто разветвляется от 1 / -1. Мы не ищем
if (1 < 1) removeDuplicates()
или[do_nothing, merge_with_dups, merge_without_dups][1].call()
, например.
Ввод и вывод могут быть в любом разумном формате, который вы выберете. Одним из примеров может быть
[1,2],[2,3]->[1,2,2,3]
до смены знака и [1,2,3]
после.
Это конкурс популярности. Это не код гольф , если вы не хотите хвастаться. Я приму ответ с наибольшим количеством голосов через две недели.
-1
случае?