Этот анекдот содержит следующий интригующий обмен:
"Хорошо, Фред", прервала Ави. «Тогда как бы вы изменили это, чтобы избежать повторяющихся записей?»
«О, просто поменяйте это на отрицательное».
Хотя это утверждение не является точным в контексте, я действительно задаюсь вопросом, есть ли какой-то вероятный код, для которого это имеет смысл.
Ваша задача - написать код (программу, функцию, что угодно), который соответствует этим критериям:
- Объединяет два списка ввода в один, сохраняя дубликаты. [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]
после.
Это конкурс популярности. Это не код гольф , если вы не хотите хвастаться. Я приму ответ с наибольшим количеством голосов через две недели.
popularity-contest
histocrat
источник
источник
-1
случае?Ответы:
JavaScript
Возьмите обычный алгоритм и напишите его с ошибкой:
Этот код содержит ровно один литерал
1
. Если оно будет изменено на-1
, дубликаты будут удалены. Может использоваться на любых сопоставимых значениях.источник
APL 22/23
Запрашивает ввод с экрана через ← ⎕ и возвращает упорядоченный объединенный список с помощью или, если ведущий установлен как отрицательный, без дубликатов.
Счетчики байтов обратите внимание, что однобайтовые символы APL были преобразованы в UTF8 для правильной визуализации на этом сайте.
источник
к (18)
Должен работать для любого допустимого типа списка
Пример:
источник
питон
источник
удар
В духе контекста эта программа удаляет дубликаты, если вы добавляете знак минус перед строчными буквами
l
вgrep
строке. Если вы добавите знак минуса перед прописными буквамиI
в предыдущей строке или перед цифрой1
в следующей строке, программа не будет вести себя иначе.Входные файлы содержат одно целое число в строке (это обычное представление списков в виде текстовых файлов). Они должны быть переданы как два аргумента. Полученный список записывается в стандартный выход.
Не стесняйтесь использовать эту программу в качестве примера вашего лучшего кода в интервью. Все, что я прошу, это чтобы ты не сказал, что это мой лучший код.
источник
Tcl
В духе цитаты
Если это дубликат, умножьте его на (-) 1, после этого отфильтруйте отрицательные значения.
источник
Я новичок в PHP, я не знаю, правильно ли это
источник