Ssylka

Решение Advent of Code 2024, с использованием SQL

Задача заключается в определении возможности получения заданного числа, применяя к набору чисел операции сложения, умножения и конкатенации. В первой части использована рекурсия и битовые маски для перебора комбинаций операций сложения и умножения, примененных к набору чисел. Вычисляется итоговая сумма целевых чисел, для которых возможно получить результат.
Решение  Advent of Code 2024,  с использованием SQL
Изображение носит иллюстративный характер

Во второй части задачи добавляется оператор конкатенации. Это делает невозможным использование битовых масок. Решение заключается в рекурсивном переборе всех возможных вариантов операций на каждом шаге. Используется «размножение строк» в рекурсии через unnest, при этом вычисления ограничиваются целевым значением, чтобы избежать перебора всех комбинаций.

Ключевым моментом является использование рекурсивных CTE в SQL для перебора возможных комбинаций операторов. LATERAL JOIN позволяет отфильтровывать уравнения, для которых нет решения. WITH ORDINALITY присваивает уникальные номера строкам для их идентификации. Агрегатные функции суммируют целевые числа для верных уравнений.

Использование SQL для решения задачи демонстрирует возможности языка, хотя и не является самым эффективным подходом в сравнении с императивным программированием.


Новое на сайте

16931Взлом через промпт: как AI-редактор Cursor превращали в оружие 16930Мог ли древний кризис заставить людей хоронить мертвых в печах с собаками? 16929Какие наушники Bose выбрать на распродаже: для полной изоляции или контроля над... 16928Может ли искусство напрямую очищать экосистемы от вредителей? 16927Вирусное наследие в геноме человека оказалось ключевым регулятором генов 16926Рекордные оазисы жизни обнаружены в бездне океанских траншей 16925Крах прогнозов UnitedHealth на фоне растущих издержек и трагедий 16924Формула ясного ума: доказанный способ замедлить когнитивное старение 16923Действительно ли ощущения тепла и прохлады идут в мозг разными путями? 16922Гражданские права как инструмент холодной войны 16921Премиальное белье Duluth Trading Co. со скидкой более 50% 16920Сделает ли запрет на пищевые красители школьные обеды по-настояшему здоровыми? 16919Код от Claude: ИИ-сгенерированный вирус похищал криптовалюту через npm 16918Как спутник NISAR будет предсказывать катастрофы с сантиметровой точностью? 16917Атаки на Microsoft 365: как поддельные приложения обходят многофакторную аутентификацию