Учитывая неупорядоченную коллекцию положительных целых чисел любым разумным методом ввода, верните все вложенные коллекции, которые имеют нечетное количество нечетных элементов (т.е. имеют нечетное количество).
Это код-гольф, поэтому вы должны стремиться минимизировать количество байтов в вашей программе.
Поскольку некоторые языки имеют только упорядоченные коллекции (списки, массивы, векторы и т. Д.) Или не имеют неупорядоченной коллекции, которая допускает дублирование, вы можете использовать упорядоченные коллекции (независимо от вашего выбора языка), однако вы не должны выводить дубликаты коллекций. с разными заказами (например [2,3]
и [3,2]
). Вы можете выводить данные в любом порядке.
Контрольные примеры
[2,3,7,2] -> [[3],[7],[2,3],[2,7],[2,2,3],[2,2,7]]
[2,4,6,8] -> []
[4,9] -> [[9],[4,9]]
code-golf
combinatorics
Пост Рок Гарф Хантер
источник
источник
[2, 2, 3]
, мы можем вернуться[[2, 2, 3], [2, 3], [2, 3]]
?Ответы:
05AB1E , 6 байтов
Попробуйте онлайн!
-2 байта благодаря @EriktheOutgolfer
источник
2%
может быть в гольфÉ
и}
может быть удален. Но ваш ответ, похоже, имеет значение.Python 3 , 93 байта
Возвращает набор кортежей. Скорее всего, слишком долго.
Попробуйте онлайн!
источник
Pyth ,
1098 байтПопробуйте онлайн!
источник
{SMf%sT2y
кажется, сохраняет байт.Python 2 , 91 байт
Печатает набор кортежей. Если набор строк разрешен,
tuple(sorted(y))
может быть заменен`sorted(y)`
на 86 байтов .Попробуйте онлайн!
источник
Желе , 9 байт
Попробуйте онлайн!
Ошибка исправлена благодаря Джонатану Аллану.
источник
Perl 6 , 50 байт
Чтобы отфильтровать одинаковые комбинации по порядку, я отфильтровываю дубликаты путем преобразования каждого в
Bag
(неупорядоченную коллекцию) перед сравнением. К сожалению, я не смог найти способ принятьBag
как ввод, который был бы столь же кратким.источник
Брахилог , 11 байт
Попробуйте онлайн!
Я надеялся найти более короткое решение, но вот лучшее, что я мог сделать.
объяснение
Да, я мог бы использовать модуль 2 для проверки на странность, но это не странный подход;)
источник
Mathematica
31 4438 байтСреди всех подмножеств входного набора он возвращает те, для которых сумма
Tr
нечетна.6 байтов сохранено благодаря алефальфе.
{{3}, {7}, {2, 3}, {2, 7}, {2, 2, 3}, {2, 2, 7}}
источник
{2,3}
и{3,2}
не должно возвращаться (как{2,7}
и с{7,2}
).Select[Union@Subsets@Sort@#,OddQ@*Tr]&
PHP, 126 байт
принимает входные данные из аргументов командной строки; запустить
-nr
или попробовать онлайн .сломать
источник