Цей анекдот містить такий інтригуючий обмін:
- Добре, Фреде, - перебив його Аві. "Тоді як би ви змінили це, щоб уникнути повторюваних записів?"
"О, просто поміняйте цю на негативну".
Хоча ця претензія не є точною в контексті, мені цікаво, чи є якийсь правдоподібний код, для якого це має сенс.
Ваше завдання полягає в написанні коду (програми, функції, будь-якого іншого), який відповідає цим критеріям:
- Об'єднує два вхідні списки в один, зберігаючи дублікати. [редагувати: Ви необов'язково можете припустити, що вони є цілими числами та / або що самі списки є унікальними. Ви не можете припустити, що цілі числа є позитивними (одна відповідь, яка робить це, є зібраною в цілому).]
- Буквально "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
випадку?