SILLYFEED

JavaScript | LeetCode

@easy_frontend_task · 8.9K подписчиков

Открыть канал в Telegram

Посты канала JavaScript | LeetCode в SillyFeed: единая лента публичных Telegram-каналов со ссылками на оригиналы.

Cайтeasyoffer.ruРеклама@easyoffer_advВП@easyoffer_vpТестыt.me/+T0COHtFzCJkwMDUyВопросы собесовt.me/+kXKgJEjRUww3N2NiВакансииt.me/+CgCAzIyGHHg0Nzky

Посты канала

JavaScript | LeetCode
Задача: 617. Merge Two Binary TreesСложность: mediumВам даны два бинарных дерева root1 и root2. Представьте, что при наложении одного из них на другое некоторые узлы двух деревьев перекрываются, а другие - нет. Вам нужно объединить эти два дерева в новое бинарное дерево. Правило слияния таково: если два узла пересекаются, то в качестве нового значения объединенного узла используется сумма значений узлов. В противном случае в качестве узла нового дерева будет использоваться узел NOT null. Возвращается объединенное дерево. Примечание: Процесс объединения должен начинаться с корневых узлов обоих деревьев.Пример:Input: root1 = [1,3,2,5], root2 = [2,1,3,null,4,null,7]Output: [3,4,5,5,4,null,7]👨‍💻 Алгоритм:1⃣Если один из узлов пуст (null), возвращаем другой узел. Если оба узла пустые, возвращаем null.2⃣Если оба узла не пустые, создаем новый узел, значение которого равно сумме значений двух узлов. Рекурсивно объединяем левые и правые поддеревья.3⃣Возвращаем новый узел, который является корнем объединенного дерева.😎 Решение:function TreeNode(val, left, right) { this.val = (val===undefined ? 0 : val) this.left = (left===undefined ? null : left) this.right = (right===undefined ? null : right)}function mergeTrees(root1, root2) { if (!root1) return root2; if (!root2) return root1; const mergedNode = new TreeNode(root1.val + root2.val); mergedNode.left = mergeTrees(root1.left, root2.left); mergedNode.right = mergeTrees(root1.right, root2.right); return mergedNode;}Ставь 👍 и забирай 📚 Базу знаний
JavaScript | LeetCode
Задача: 739. Daily TemperaturesСложность: mediumЗадав массив целых чисел temperature, представляющих дневные температуры, верните массив answer, такой, что answer[i] - это количество дней, которые нужно подождать после i-го дня, чтобы температура стала теплее. Если в будущем не существует дня, для которого это возможно, сохраните answer[i] == 0.Пример:Input: temperatures = [73,74,75,71,69,72,76,73]Output: [1,1,4,2,1,1,0,0]👨‍💻 Алгоритм:1⃣Создайте стек для хранения индексов дней с температурами, для которых еще не найден более теплый день.2⃣Пройдите по массиву температур и для каждого дня: Пока текущая температура больше температуры дня на вершине стека, обновляйте массив ответов и удаляйте вершину стека. Добавьте текущий день в стек.3⃣Возвращайте массив ответов.😎 Решение:var dailyTemperatures = function(T) { const answer = Array(T.length).fill(0); const stack = []; for (let i = 0; i < T.length; i++) { while (stack.length && T[i] > T[stack[stack.length - 1]]) { const j = stack.pop(); answer[j] = i - j; } stack.push(i); } return answer;Ставь 👍 и забирай 📚 Базу знаний
JavaScript | LeetCode
Задача: 82. Remove Duplicates from Sorted List IIСложность: mediumДана голова отсортированного связного списка. Удалите все узлы, содержащие повторяющиеся числа, оставив только уникальные числа из исходного списка. Верните отсортированный связный список.Пример:Input: head = [1,2,3,3,4,4,5]Output: [1,2,5]👨‍💻 Алгоритм:1️⃣Инициализация "стража" и предшественника:Создается фиктивный начальный узел sentinel, который указывает на начало связного списка. Это делается для удобства управления указателем на начало списка, особенно если первые несколько узлов могут быть удалены.Устанавливаем предшественника pred, который будет последним узлом перед потенциально дублирующимися узлами. Изначально предшественником назначается страж.2️⃣Проход по списку с проверкой на дубликаты:Итерируемся по списку начиная с головы head. На каждом шаге проверяем, есть ли дублирующиеся узлы, сравнивая текущий узел head.val с следующим head.next.val.Если узлы дублируются, то пропускаем все последующие дубликаты, перемещая указатель head до последнего дублированного узла. После этого предшественник pred соединяется с первым узлом после всех дубликатов pred.next = head.next, тем самым пропуская весь блок дублированных узлов.3️⃣Переход к следующему узлу и возврат результата:Если текущий узел не имел дубликатов, просто переводим предшественника pred на следующий узел.Двигаем указатель head на следующий узел в списке.После завершения цикла возвращаем список, начиная с узла, на который указывает sentinel.next, что позволяет исключить все дублирующиеся узлы и вернуть начало нового списка без дубликатов.😎 Решение:var deleteDuplicates = function (head) { let sentinel = new ListNode(0, head); let pred = sentinel; while (head !== null) { if (head.next !== null && head.val === head.next.val) { while (head.next !== null && head.val === head.next.val) { head = head.next; } pred.next = head.next; } else { pred = pred.next; } head = head.next; } return sentinel.next;};Ставь 👍 и забирай 📚 Базу знаний

Ещё по теме «Технологии»

Технологии
ИнфоИнспекция
🖥 Мошенники рассылают СМС «Ваш Telegram будет заблокирован»Белорусы начали получать такие сообщения с ссылкой. Ни в коем случае не переходите по ней! Это фишинг. Мошенники пытаются выманить данные аккаунта или установить вредоносное ПО.✅Запомните:— Не кликайте по ссылкам из подозрительных СМС;— Если боитесь за аккаунт — зайдите в Telegram вручную и проверьте статус;— Подозрительную ссылку можно проверить на сайте Проверь.бел.Будьте бдительны.Подписаться на канал ✅
SEO практика | Кравцов Виталий
🤑 Вайбкодинг здорового человека, не курильщика.ИИ открывает окно возможностей (особенно, если насмотрелся инфоциган) и первое, что делает начинающий вайбкодер - бежит делать клон какого-то продукта, чтобы заработать хулиард денег, а еще хуже, если начинает играть в новатора и придумывать крутой, но никому не нужный продукт, а лучше не один, а сразу несколько, ну чтобы реализовать все свои гениальные идеи!Трещина на розовых очках появляется когда его Франкенштейн с тысячами строк кода, кучей интеграций, десятком технологий в стеке отказывается работать, как было задумано! Модель, тариф и количество токенов не спасут т.к. дело не в этом!Сначала кодинг, потом вайб! Дабы сделать что-то большое и стабильно работающее, нужно на базовом уровне разбираться в разработке - синтаксис, архитектура и т.д. Только при таком комбо будет ожидаемый результат.Но есть и хорошие новости! ИИ реально может вас апгрейдить, если вы будете использовать его локально в задачах автоматизации... Не пилить второй ahrefs, а сделать скрипт для обработки выгрузки из ahrefs. Не пилить тысячный таск трекер, а сделать скрипт, который из выгрузки закрытых задач генерирует отчет для клиента и т.д.Такими мелкими ИИ рычагами вы можете существенно оптимизировать время на выполнение рутинных задач. Больше задач за один и тот же промежуток времени = профит.Это как использовать электрическую газонокосилку вместо ручной косы, оказывая услуги по стрижке газонов!Всем профита и хорошего дня 🤘👉 SeoPraktika | Кравцов Виталий
Femtech Force — новости, вакансии, подкаст
📈 Почему ИИ сдаёт медицинские экзамены на отлично, но проваливается с реальными пациентамиПривет! Меня зовут Ольга Титова, я работаю AI Product Manager, выступаю за безопасный и этичный подход к ИИ, и каждую неделю делюсь с подписчиками Femtech Force новостями из мира ИИ и здоровья.На прошлой неделе мы разобрали, что OpenAI предлагает врачам в ChatGPT for Clinicians: бесплатный GPT-5.4, шаблоны для рутины, автоматические баллы повышения квалификации (и трёхуровневую стратегию захвата health AI). Сегодня — обещанный разбор: почему модель, которая знает правильный ответ в 95% случаев, пока не помогает реальным людям.🔥 Исследование с парадоксальным результатомВ феврале 2026 года исследователи из Оксфорда (Oxford Internet Institute и Nuffield Department of Primary Care) опубликовали в Nature Medicine крупнейшее на сегодня рандомизированное исследование того, как обычные люди взаимодействуют с медицинскими LLM. Дизайн простой: 1298 участников получили медицинские сценарии и должны были определить, что это за состояние и нужна ли скорая, визит к врачу или достаточно самолечения. Три группы пользовались LLM (GPT-4o, Llama 3, Command R+), четвёртая — контрольная — обращалась к привычным ресурсам: поиску в интернете и сайту NHS.💥 Что же получилось?LLM, работая без человека, правильно определяли состояния в 94.9% случаев. А участники, использовавшие эти же модели, — менее чем в 34.5%, то есть хуже, чем контрольная группа, которая обходилась без ИИ вообще. По выбору срочности ИИ тоже не помог: разницы с контрольной группой нет.Выделили две причины сбоя. Во-первых, люди не давали модели достаточно информации, больше половины первичных сообщений оказались неполными. Во-вторых, даже когда модель предлагала правильный ответ среди нескольких вариантов, люди не могли его выбрать.💥 Почему это поднимает вопросы и для HealthBench — бенчмарка от OpenAIИсследователи также сопоставили результаты моделей на стандартном медицинском бенчмарке MedQA (вопросы из лицензионных экзаменов) с результатами взаимодействия с живыми людьми, и оказалось, что корреляции между ними практически нет. Модель, набравшая 80%+ на экзамене, могла показать менее 20% с реальным пользователем. Даже симуляции с ИИ-«пациентами» (популярный сегодня метод тестирования) не предсказывали поведение реальных людей.OpenAI оценивает ChatGPT for Clinicians именно бенчмарком — собственным HealthBench Professional, где он набрал скор 59.0, обогнав реальных врачей. Но бенчмарк измеряет качество текста ответа модели, а не реальное взаимодействие в связке врач-ИИ-пациент.💥 Что я думаю?Для документации, обзора литературы и шаблонов писем ChatGPT for Clinicians действительно может экономить врачам часы и это уже отлично, учитывая масштаб бюрократического выгорания. Но между «помогает быстрее написать реферальное письмо» и «помогает принять клиническое решение» — огромная разница. 🔶 Первое — инструмент продуктивности. 🔶 Второе — медицинское изделие, которое должно проходить клиническую валидацию. OpenAI заявляет, что остаётся в зоне первого, но продукт устроен так, что пользователи неизбежно будут уходить во второе.И главный вывод, который я для себя сделала: дело не только в том, насколько умна модель, а в том, хорошо ли умеем мы с ней разговаривать. Пока, кажется, ответ — «не очень».@FemtechForce — о технологиях для здоровья женщинТекст подготовила #ОльгаТитова
kyrillic
Про AI-ускорение рутины разработчиков, которого... НЕТ! ч.5: свежие рандомизированные контролируемые исследования (РКИ) и не только.Покопался в актуальных исследованиях, отделил всякие опросы и ангажированные репорты от РКИ, выбрал только актуальные, за полгода-год. Вот, что получается:1️⃣ Самая известная работа METR (пост), которая показала прирост +20% по ощущениям и -20% по факту, получила странную попытку репликации (фев'26) от тех же авторов: взяли больше разрабов (57), понизили ставку ($50/час), получили +18% AI-ускорения для 10 участников из прошлой работы и +4% для 47 новых. Но до половины разработчиков отказались от неAI задач (??!!) и организаторы посчитали результаты ненадежными.Непонятно, почему самая известная работа по теме так и не получила нормального продолжения, с актуальными инструментами. Есть интересный разбор второго исследования на lesswrong. tldr: "ничего непонятно".2️⃣ "How AI Impacts Skill Formation" (фев'26): РКИ про обучение новой python-библиотеке - участники случайно делали задачу либо с AI-помощником, поиском и инструкциями, либо только с поиском и инструкциями. AI не дал статистически значимого ускорения по времени задачи, но результат теста на понимание упал на 17% (vs контроль без AI).Другими словами, AI помогает сделать задачу, но может мешать понять, что сделано. Особенно опасно для джунов и для ситуаций, где потом надо самому поддерживать код. Есть еще работа с такими же выводами (мар'26).3️⃣ Echoes of AI (фев'26), проверяли влияние AI на поддержку кода: разработчик добавлял фичу в Java/Spring Boot проект (с AI или без AI), другой разработчик получал решение и вручную его дорабатывал. Первые сделали задачу на 30% быстрее (и аж 56% для power AI-юзеров), а у вторых при поддержке кода был большой разброс от -45% до +33%, и в среднем весь прирост пропадал. 4️⃣ Не РКИ, но интересная работа (янв'26): американские разработчики в SAP несколько дней сдавали анкеты, записи экрана/мыши/клавиатуры, физиологические данные с браслета. В контролируемых сессиях были задачи на Java: кодинг, дебаг, документация, unit-тесты, мозговой штурм и др. Выводы кратко:• Умеренное использование AI сокращало время выполнения задач, но избыточное - мешало.• Когда разработчик начинает постоянно переключаться между кодом, подсказками, чатом и проверкой ответов, то продуктивность падает. • Лучше выглядели сценарии, где было взаимодействие с чатом. Вероятно, потому что чат лучше подходит для объяснений, проверки логики и задач, где нужно понять контекст.• AI одновременно воспринимался как повышающий и продуктивность, и когнитивную нагрузку.5️⃣ Тоже не идеальная "Speed at the Cost of Quality" (ноя'25): как влияет AI кодинг на дистанции в месяцы. tldr: главный вывод авторы вынесли в название работы - AI резко ускоряет разработку в краткосрочной перспективе, но одновременно увеличивает технический долг и сложность кода, что потом начинает тормозить проект. Добавленные строки выросли на +281% в первом месяце и +48% во 2-м, к 3-му месяцу вернулись к базовой линии. По коммитам аналогичный паттерн +55%/+14%.Рост накопленной сложности на 100% вызывает падение будущей скорости на 65%, создавая самоусиливающийся цикл технического долга.Устойчивая деградация качества: +30% предупреждений статического анализа и +41% когнитивной сложности, удерживается на горизонте наблюдения и переживает контроль на динамику скорости. То есть AI-код внутренне более сложен, а не просто более многочислен.6️⃣ На самом деле свежих качественных работ я найти больше не смог - остальное что-то странное, ангажированное или устаревшее. Очевидно, что в каких-то частях разработки AI может дать буст, особенно для коротких циклов, крошечных команд и джуниоров. Но этот буст скромный, а не 10х (как нам многие обещают). Массовых увольнений инженеров из-за этого тоже не будет. А я еще три года назад писал (раз, два, три), что AI изобретен, и наша задача - искать те редкие части своей работы, где AI реально помогает! @kyrillic
Управление Уязвимостями и прочее
Kaspersky сообщают о компрометации DAEMON Tools. DAEMON Tools - это программа, которая позволяет "подключать" файлы образов дисков (например, ISO) как будто это вставленный в компьютер CD- или DVD-диск. Программа популярная, развивается с 2000 года. Версия с базовой функциональностью доступна бесплатно. Я её в своё время активно использовал. Так вот, эксперты Kaspersky обнаружили масштабную атаку на цепочку поставок через DAEMON Tools. Вредоносные версии программы распространяются с официального сайта с 8 апреля 2026 года (затронуты версии 12.5.0.2421-12.5.0.2434). На момент написания атака всё ещё продолжается.[ Читайте полностью в посте на сайте avleonov.ru ]➡️Ⓜ️ MAX | @avleonovrus #DAEMONTools #SupplyChain #Malware #Backdoor #InformationStealer #Shellcode #QUICRAT #Kaspersky #Securelist #AVBDiscSoft #Typosquatting #ZeroTrust
NeuroFinance | Family Office
УПРАВЛЕНИЕ 2026: ПОЧЕМУ ВАШ БИЗНЕС ВСЕ ЕЩЕ НА «РУЧНОМ ПРИВОДЕ»? 🧠Главное «бутылочное горлышко» компании — не рынок, не сотрудники и не конкуренты.Главное бутылочное горлышко — сам собственник.Пока вы лично выясняете, где застряла задача, почему просела маржа и кто не дожал клиента — бизнес не управляется. Он просто держится на вашей нервной системе. В 2026 году контроль через таблицы и бесконечные планерки — это дорогой анахронизм.Сегодня бизнесу нужны не «чат-боты». Ему нужны цифровые сотрудники, закрывающие ключевые управленческие узлы:1️⃣ ИИ-Финдиректор (CFO)Следит за деньгами в реальном времени. Не просто считает остатки, а видит кассовые разрывы, скрытые утечки и моделирует сценарии: «Что будет с прибылью, если мы поднимем цены на 5% или наберем команду?»• Результат: Прозрачный капитал 24/7 без искажений от бухгалтерии.2️⃣ ИИ-Директор по продажам (AI-ROP)Ключевой узел роста. Обычно мы начинаем внедрение именно здесь, выстраивая эталонные бизнес-процессы. Система контролирует качество обработки каждой заявки на каждом этапе воронки. ИИ анализирует 100% звонков и переписок, следит за чистотой базы клиентов и не дает «забыть» ни одного лида. Это тотальный контроль дисциплины и качества выполнения бизнес-процессов, который заставляет каждого продавца работать на 5+. Фокус на действия, реально ведущие к деньгам и устранение ИБД (имитация бурной деятельности) продавцов. • Результат: Кратное увеличение оборота за счет того, что система «дожимает» результат там, где раньше был человеческий фактор.3️⃣ ИИ-Проджект-менеджер (PM)Следит за сроками и приоритетами. Он видит, что реально движется, а что зависло, и подсвечивает риски до того, как проблема стала пожаром. • Результат: Соблюдение дедлайнов без микроменеджмента и вечного «ну что там?».4️⃣ ИИ-Оркестратор — «Второй мозг» собственникаВерхний уровень. Он связывает стратегию, деньги и команду в единый контур. Превращает ваши идеи в конкретные действия и контролирует финальный результат в деньгах.ГДЕ ЛОВУШКА? 🪤Рынок переполнен ИИ-игрушками. Предприниматели внедряют один сервис для задач, второй для отчетов — и получают «зоопарк ИИ». Инструментов больше, а хаоса — еще больше.НАШЕ ПРЕДЛОЖЕНИЕ:Мы не продаем софт. Мы внедряем Цифровую Операционную Систему Управления.• Полный аудит процессов и точек потери прибыли.• Развертывание связки ИИ-агентов (с фокусом на кратный рост продаж).• Создание единой панели управления для собственника.Цель: Убрать ручной контроль и дать вам реальную картину бизнеса без фильтров от сотрудников. Ориентир: +30% к чистой прибыли за счет ликвидации потерь и автоматизации рутины.————————Вопрос к вам:Какой узел сейчас сильнее всего тормозит ваш рост?🔹 Финансы и кассовые разрывы?🔹 Продажи и качество работы продавцов?🔹 Контроль задач и сроки?🔹 Или ваш личный фокус, съеденный операционкой?Записывайтесь на бесплатный экспресс-аудит вашего бизнеса:👉 @Mikhail_Gerasimov
Библиотека фронтендера | Frontend, JS, JavaScript, React.js, Angular.js, Vue.js
❔ Как правильно форматировать числа в JSIntl.NumberFormat помогает форматировать числа под конкретную локаль: с правильными разделителями, символами валют и единицами измерения.Вместо ручной склейки строк можно использовать встроенный API:new Intl.NumberFormat("de-DE", { style: "currency", currency: "EUR"}).format(123456789);// 123.456.789,00 €new Intl.NumberFormat("pt-PT", { style: "unit", unit: "kilometer-per-hour"}).format(50);// 50 km/hnew Intl.NumberFormat("fr-FR", { style: "unit", unit: "kilobyte", unitDisplay: "long"}).format(123456);// 123 456 kilooctets↖️ Что это даёт:— формат под локаль— корректные разделители— валюты без ручной склейки— единицы измерения из коробки📍 Навигация: [Вакансии]🐸 Библиотека фронтендера#readme #js
Python академия
Создание словаря из набора ключейДля создания словаря из известного набора ключей и одинаковых значений часто используют генераторы словарей (dict comprehensions).Однако класс dict имеет удобный метод fromkeys, который был создан специально для таких случаев.📲 Мы в MAXПодписывайтесь на канал 👉@pythonofff
Ночной Писаревский
Как делать классный дизайн с Claude CodeНе надо писать «Ты Джонни Айв» или «сделай как у Apple»Вместо этого — даёте ему готовый DESIGN.md файл, где уже описано всё, что обычно формулируют размыто:— цвета— типографика— отступы— правила компонентовНашел подборку 2000+ DESIGN.md файлов топовых сайтовВыбираете тот, который нравится, вставляете в свой Клод или Кодекс — и получаете классный дизайнhttps://styles.refero.designUPD: в комментах подсказывают еще опцииhttps://getdesign.mdhttps://impeccable.style
Записки профессора Вышки
Всю первую половину дня в Москве был заблокирован мобильный интернет. Я прочитал о предстоящей блокировке в новостях ещё вчера, но не придал этому значения. Вышел из дома и быстро понял, что всё не так, как обычно. Сначала не открылась карта транспорта в телефоне, и я ждал на остановке автобус, не зная, когда он придёт. Затем у меня не загрузился мобильный банк, и не получилось расплатиться в автомате метро через систему быстрых платежей. Расписание электричек тоже было недоступно. Подобные злоключения то и дело преследовали меня до того времени, пока мобильный интернет не заработал. Конечно, за последние десять-пятнадцать лет мы привыкли к электронному комфорту, и интернет стал нашим незаменимым спутником. Мы уверены, что так будет всегда. Но сегодняшний день показал всю зыбкость наших привычек. Обстановка в мире, увы, неспокойная, и дальше будет ещё сложнее. Нам надо быть готовыми к тому, что, возможно, придётся жить без интернета не полдня, как сегодня, а неделями и даже месяцами. И тогда мы на некоторое время вернёмся к бумажным книгам, проводным телефонам, а может быть, и письма будем писать ручкой на бумаге, запечатывать их в конверты и бросать в почтовые ящики. Дети станут играть у подъезда в классики, резиночку и прыгать со скакалкой. Кстати, сегодня у меня была с собой в портфеле книжка, и я за то время, что не работал интернет, дочитал её до конца.