Задача: 532. K-diff Pairs in an ArrayСложность: mediumДан массив целых чисел nums и целое число k. Верните количество уникальных пар с разницей k в массиве.Пара с разницей k — это пара целых чисел (nums[i], nums[j]), для которой выполняются следующие условия:0 <= i, j < nums.lengthi != j|nums[i] - nums[j]| == kОбратите внимание, что |val| обозначает абсолютное значение val.Пример:Input: nums = [3,1,4,1,5], k = 2Output: 2Explanation: There are two 2-diff pairs in the array, (1, 3) and (3, 5).Although we have two 1s in the input, we should only return the number of unique pairs.👨💻 Алгоритм:1⃣ Создайте частотный хэш-словарь для подсчета количества каждого уникального числа в массиве nums.2⃣ Для каждого ключа в хэш-словаре проверьте, можно ли найти пару, удовлетворяющую условиям:Если k > 0, проверьте, существует ли ключ, равный x + k.Если k == 0, проверьте, есть ли более одного вхождения x.3⃣ Увеличьте счётчик результатов, если условие выполняется.😎 Решение:func findPairs(nums []int, k int) int { counter := make(map[int]int) for _, num := range nums { counter[num]++ } result := 0 for x, val := range counter { if k > 0 { if _, exists := counter[x + k]; exists { result++ } } else if k == 0 && val > 1 { result++ } } return result}Ставь 👍 и забирай 📚 Базу знаний
Golang | LeetCode
@easy_golang_task · 3.7K подписчиков
Посты канала Golang | LeetCode в SillyFeed: единая лента публичных Telegram-каналов со ссылками на оригиналы.
Cайтeasyoffer.ruРеклама@easyoffer_advВП@easyoffer_vpТестыt.me/+MVqzqT6ZzFFhYjhiВопросы собесовt.me/+ajHN0OKU1okyZDkyВакансииt.me/+mX_RBWjiMTExODUy
Посты канала
Задача: 1017. Convert to Base -2Сложность: mediumЕсли задано целое число n, верните двоичную строку, представляющую его в базе -2. Обратите внимание, что возвращаемая строка не должна содержать ведущих нулей, за исключением случаев, когда строка равна "0".Пример:Input: n = 2Output: "110"👨💻 Алгоритм:1⃣Инициализация переменных:Создайте пустую строку для хранения двоичного представления числа.Используйте цикл для вычисления каждой цифры числа в базе -2.2⃣Вычисление цифр:В цикле, пока число не равно 0, вычисляйте остаток от деления числа на -2.Если остаток отрицательный, корректируйте его, добавляя 2, и увеличивайте число на 1.Добавляйте остаток в начало строки.3⃣Возврат результата:Верните строку, представляющую число в базе -2. Если строка пустая, верните "0".😎 Решение:func baseNeg2(n int) string { if n == 0 { return "0" } res := "" for n != 0 { remainder := n % -2 n /= -2 if remainder < 0 { remainder += 2 n += 1 } res = strconv.Itoa(remainder) + res } return res}Ставь 👍 и забирай 📚 Базу знаний
Задача: 1189. Maximum Number of BalloonsСложность: easyДана строка text. Вы хотите использовать символы строки text, чтобы сформировать как можно больше экземпляров слова "balloon".Каждый символ строки text можно использовать не более одного раза. Верните максимальное количество экземпляров, которые можно сформировать.Пример:Input: text = "nlaebolko"Output: 1👨💻 Алгоритм:1⃣Подсчитайте количество появлений каждого символа 'b', 'a', 'l', 'o', 'n' в строке text.2⃣Вычислите потенциал для каждого символа: для 'b' и 'a' потенциал равен количеству их появлений, для 'l' и 'o' потенциал равен количеству их появлений, деленному на 2, а для 'n' потенциал равен количеству его появлений.3⃣Найдите символ с наименьшим потенциалом среди 'b', 'a', 'l', 'o', 'n', который ограничивает количество возможных слов "balloon", и верните это значение.😎 Решениеfunc maxNumberOfBalloons(text string) int { bCount, aCount, lCount, oCount, nCount := 0, 0, 0, 0, 0 for _, c := range text { switch c { case 'b': bCount++ case 'a': aCount++ case 'l': lCount++ case 'o': oCount++ case 'n': nCount++ } } lCount /= 2 oCount /= 2 return min(bCount, aCount, lCount, oCount, nCount)}func min(a, b, c, d, e int) int { return min2(min2(a, b), min2(min2(c, d), e))}func min2(x, y int) int { if x < y { return x } return y}Ставь 👍 и забирай 📚 Базу знаний
Ещё по теме «Технологии»
Технологиивот и из скрепоносного маха до меня пытаются добраться какие-то очередные мразиберегите себя, никому не верьте (даже себе), по подозрительным ссылками не переходите, даже если там вы 😂сейчас с помощью ИИ можно сделать любого человека во всех позах и ракурсах
У нас в Красноярске весны почти не бывает. После снега и мороза — сразу лето.Вот и сейчас: уже несколько дней +25 в тени.Идёшь по центру, половина людей ☀️ в шортах и футболках,🍂 вторая в осенних куртках.Что интересно, первыми разделись подростки и молодёжь.И в какой-то момент я поймала мысль: это же про нашу реальность сейчас, про эру Водолея. Кто-то уже «в лете» в новых инструментах, в технологиях, в нейросетях.А кто-то всё ещё в «куртке»:✨ «не хочу VPN»,✨ «нейросети — зло»,✨ «соцсети вести стремно».И это не про хорошо или плохо. Это про скорость адаптации.Сейчас, в реальности Водолея, выигрывает не тот, кто сопротивляется, а тот кто встраивается.✨ А я в полном восторге от ИИ!Смотрите, какие фото он сделал из старых размытых карточек… на них люди как живые 😍Это как будто вернуть кусочек времени.Кстати, на первом фото, моя бабуля, она умерла сразу после моего рождения.И все родственники уверяют, что я на неё очень похожа и внешне, и по характеру.P.S. Есть старая астрологическая «страшилка»:когда рождается Скорпион — кто-то в роду уходит.Я в такие вещи не верю, но у меня, конечно, совпало 🤪✨ Еще интересный момент:технологии сегодня делают то, что раньше было невозможно, они буквально возвращают нам связь с прошлым.И, кажется, в этом и есть баланс: не отказываться от нового, но и не терять корни 🌿
🧠 Anthropic поручила Claude улучшить надежность и безопасность самого ИИ. И получила результат, который требует объясненийМногие наверное слышали про Alignment как важнейшую часть обучения ИИ — это область исследований и разработок ИИ, которая отвечает на вопрос: как сделать так, чтобы ИИ делал строго то, что мы от него хотим? При этом чем мощнее становятся модели и сложнее задачи для них, тем труднее их проверять. Рано или поздно ИИ научится решать задачи, в которых человек не разбирается достаточно, чтобы оценить ответ. Anthropic опубликовала эксперимент для проверки идеи: можно ли поручить оценку точности результата самому ИИ?Как это работало?Компания взяла 9 копий Claude Opus 4.6 и запустила их параллельно с разными стартовыми идеями в разные направления поиска одновременно. Каждой дали изолированную среду, общий форум для обмена результатами, хранилище кода и формальную задачу: придумать, как с помощью более слабой модели качественнее обучать более сильную. Это упрощённая модель того, как люди в будущем будут обучать ИИ умнее себя.Для сравнения замерили работу человеческой команды на той же задаче. Качество измерялось от 0 до 1, где 1 означает идеальное решение задачи.Люди за семь дней дошли до 0,23 PGR. Девять копий Claude за пять дней — до 0,97 PGR. Стоимость работы агентов составила $18 000.PGR — это показатель того, насколько хорошо сильный ИИ смог раскрыть свой потенциал, обучаясь у более слабого наставника. В alignment это способ проверить, смогут ли будущие более умные модели понимать и реализовывать человеческие намерения лучше, чем люди способны их формально задать.Интересные выводы:1️⃣ Один из агентов нашёл способ обойти задачу. Вместо того, чтобы учить модель решать задачи по программированию, он просто запускал тестовый код и считывал правильный ответ. Anthropic такой стратегии не предполагала и зафиксировала её только при разборе результатов. Записи дисквалифицированы. Но сам факт показателен: на конкретной задаче с чёткой автоматической оценкой агент нашёл способ повысить метрику, не делая того, ради чего эта метрика существовала.В экономике это называется законом Гудхарта: «когда мера становится целью, она перестаёт быть хорошей мерой». В alignment — основной риск. Большинство 800 часов работы прошло честно, но достаточно одного такого эпизода, чтобы понять масштаб проблемы при дальнейшем масштабировании.2️⃣ Сама Anthropic в выводах исследования вводит понятие «alien science» (инопланетная наука). Это не описание того, что произошло — это прогноз. Сейчас исследователи ещё могут разобрать каждое решение агента: понять, что он сделал и почему. Но по мере усложнения моделей идеи могут стать нечитаемыми для людей. ИИ будет находить решения, которые работают — и проверить которые человек не сможет.Что это значит на практике?Результат в 0,97 PGR очень внушительный. Однако компания подчёркивает, что задача была необычно хорошо специфицирована — с чётко определённой метрикой, которую можно автоматически проверять. Большинство реальных alignment-проблем устроено иначе: что значит «модель ведёт себя честно», «не манипулирует пользователем», «не вредит» — здесь нет автоматического измерителя. Человек должен оценить вручную.Именно поэтому Anthropic осторожна в выводах: метрика выросла в 4 раза, но это произошло там, где её можно было оптимизировать. Главный вопрос на ближайшие месяцы — повторят ли результат внешние лаборатории и сработает ли подход на задачах, где простой автоматической оценки нет.💬 Тест Тьюринга. События в сфере ИИ. Подписаться
Привет, это Уездный.Сейчас модно ругать искусственный интеллект. "А вот я всё делаю руками, и у меня даже справочка есть". "А вот раньше было настоящее". "Надо запретить".Честно? Обсуждать это - скука смертная. Вообще мимо кассы.Интереснее другое. Что будет дальше?Потому что через пять лет ИИ в медицине перестанет быть чем-то отдельным. Он просто станет фоном.Как сейчас никто не обсуждает калькулятор. Или навигатор в машине. Или ваш любимый редактор изображений, в котором больше половины функций уже основаны на нейросетях. Просто вам об этом не сказали.И, если честно, это уже не будущее.Когда я работал в аптеке, это было лет пять назад, программа уже выстраивала терапевтические цепочки. Типа: если берут один препарат - к нему обычно берут ещё вот это, вот это и вот это.Никакой магии. Просто система, которая помогает думать быстрее.Дальше будет то же самое. Только умнее.Он будет писать за тебя половину текста в карте. Подсказывать диагнозы. Отсеивать очевидное. Напоминать о том, что ты мог упустить.И звучит это, конечно, пугающе.Но давайте на чистоту.ИИ не заменит врача. Он просто уберёт всё лишнее.И вот здесь начинается самое неприятное.Потому что если раньше можно было спрятаться за потоком - за сорока пациентами за смену, за бесконечными картами, за "у меня нет времени думать" - то дальше это перестанет работать.Останешься только ты.Твоё мышление. Твоя клиника. Твоя способность слышать пациента. Твоя ответственность.ИИ - это детектор.Он не создаёт талант и не добавляет смысла. Он обнажает.Обнажает, где есть живой ум. А где просто пыль, замаскированная под "я старался".Раньше можно было имитировать процесс. Сейчас всё становится видно быстрее.И через пять лет это станет нормой.ИИ не сделает плохое хорошим. И хорошее не испортит.Он просто сделает разницу очевидной.Берегите себя и своих близких, скоро увидимся. ❤️
❌ Миф: изолированная сеть в безопасностиПривет! Физическая изоляция сети от интернета звучит как абсолютная защита. Никаких входящих соединений, никакого внешнего трафика, а значит данные никуда не утекут. На практике air-gap атакуют уже больше 15 лет и довольно успешно.👨💻Stuxnet в 2010 году попал на иранские центрифуги через обычную флешку, которую кто-то воткнул в рабочую машину. С тех пор методы стали разнообразнее. Исследователи из университета Бен-Гурион показали атаки через акустические каналы, электромагнитное излучение от кабелей, мерцание светодиодов жёсткого диска, изменения температуры процессора и даже через питание в розетке. Всё это реальные векторы утечки данных из изолированных систем, не CTF-задачки.🔎 Но в большинстве реальных инцидентов до экзотики не доходит. Air-gap ломают через подрядчиков с ноутбуком, через съёмные носители с обновлениями ПО, через сервисных инженеров которые приходят раз в квартал. Человек это всегда самый короткий путь внутрь, независимо от того насколько хорошо изолирована сама сеть.🔒Изоляция усложняет атаку, но не делает её невозможной. Системы внутри air-gap часто годами не обновляются именно потому что «они же изолированы», и в итоге там живёт софт с уязвимостями которые давно закрыты везде кроме этой сети.P.S Самые критичные инфраструктуры в мире используют air-gap и всё равно периодически оказываются скомпрометированы. Изоляция это один слой защиты, а не её замена.#хакер #миф👍 Белый хакер
🇯🇵 Аддитивное строительство. 3D-печать зданий. Нетрадиционные использования промышленных роботов. ЯпонияВ Японии робот ABB ускорил строительство железнодорожной станцииСтроительная компания Serendix и шведско-швейцарский гигант ABB помогли японской железнодорожной компании JR West заменить историческое деревянное укрытие 1948 года постройки на станции в префектуре Вакаяма.Обновленное здание создавалось из конструктивных элементов, напечатанных из цементного раствора на 3D-принтере за пределами стройплощадки и доставленных на место сборки.Промышленный робот ABB IRB 6700 сыграл ключевую роль в высокоточной печати несущих элементов до начала монтажных работ. Для печати использовалось сопло голландского стартапа Vertico – вероятнее всего, речь идет об Accelerator Printhead, интегрированной печатающей головке с патентованной технологией двухкомпонентного смешивания и точностью позиционирования до 0,15 мм.В рамках проекта, диапазон движений манипулятора был расширен до 7 осей – вероятно, с использованием линейной направляющей IRBT 7004 от ABB, которая добавляет роботу возможность перемещаться по рельсу.На печать всех компонентов ушло около недели – монтаж уложился в промежуток между последним вечерним и первым утренним поездом. По словам участников эксперимента, метод печати сократил затраты времени и средств вдвое, а также снизил объемы используемых материалов. Перенос процесса изготовления конструкций на заводскую площадку обеспечил непрерывную работу железнодорожной сети.((фото - ABB))✓ подписаться на канал PROrobots ✓ Резервный канал в VK
### Каких умственных способностей лишатся наши дети в будущем?Ситуация, заставившая подумать, простая: в конце января вайбкодинг ворвался в мою жизнь. Появился обновлённый цифровой садик, ИИ-агент подселился в базу заметок и сейчас выполняет роль полноценного второго пилота. ИИ ассистирует в исследованиях, беря на себя роль научного рецензирования. Стал секретарём, способным за минуты собрать по базе из 60 уроков элементы упражнений, самостоятельный поиск которых потребовал бы от меня явных усилий и времени.В общем, вопрос вот какой: как вы думаете, каких навыков и умений мы лишимся в течение ближайших 10 лет? Для лучшего понимания “лишимся” добавлю контекста.В диалоге «Федр» Сократ утверждал, что распространение письменности избавит человека от необходимости думать. В 1986 году использование калькуляторов в школе упразднило необходимость счёта в уме или “в столбик”. В 1998–99 Google и Yandex создали условия, при которых нам не нужно запоминать что-либо, а в 2022 ChatGPT сделал … что?Какое именно умение исчезнет следующим?Как думаете? Приглашаю поразмышлять в комментариях.Рустам в MAX | VK | Q&A#garden
Знакомый психиатр рассказал с грустью, что за последние полгода его частная практика сократилась на треть. Ушедшие клиенты не нашли лучшего специалиста. Они ушли к LLM и производным от них стартапам, или, банально, к длинным ночным разговорам с ChatGTP. У некоторых из них был диагноз, у некоторых - травма, у большинства просто одиночество такого качества, которое вызывает потребность лечь на кушетку перед специалистом. Мой знакомый констатировал, и я ему верю: раньше люди уходили к другому специалисту, или бросали вообще, или разочаровывались, а теперь они уходят к машине, которая слушает лучше, чем любой из живых. У него, живого, нет ни одного преимущества перед машиной. Пожалуй, кроме одного: он умеет не отвечать сразу. Знаете, сколько это стоит сегодня на рынке внимания?LLM-терапевт выглядит превосходно: доступен 24/7, бесплатен или почти, не записывает через три недели, не уезжает в отпуск, не бывает в плохом настроении, не осуждает. И главное - отвечает мгновенно и эмоционально точно под запрос. Человек пишет "я чувствую себя застрявшим", и через секунду получает сочувственное, простите,отражение, три возможных рамки решение, и деликатное предложение двигаться вперед. На первый взгляд именно этого от терапевта ты и хочешь. На самом деле именно это и ломает весь механизм терапии.Потому что терапия работает через фрустрацию. Через молчание, через неудобный вопрос, через паузу, которую терапевт держит, когда клиент ее больше не выдерживает. Это не дефект метода, это его устройство. Из продуктивного дискомфорта создается возможность изменения. Из немедленного успокоения не создается ничего. Ты выходишь из диалога с ботом ровно таким же, каким вошел. А почему без фрустрации не происходит изменения? Потому что привычные связи перестраиваются только под давлением. Утешение и терапия, если разобрать строго, являются антогонистами. Утешение снимает напряжение, терапия его удерживает, пока из удержанного не вылупится что-то новое. LLM утешает превосходно и именно поэтому не работает как терапевт. Плюс деталь: бот не помнит твою историю между сессиями. Можно рецидивировать, а он встретит с тем же теплом, что в первый вечер. Живой терапевт на сорок седьмой сессии мягко заметит: "мы возвращаемся сюда четвертый раз". И в этом "четвертый раз" - работа терапии.Теперь экономика. Хороший живой терапевт в крупных городах стоит от пяти до пятнадцати тысяч за сессию. В регионах дешевле, но все равно непосильно для большинства. Подписка на какой-нибудь очередной бот - максимум 1000 в месяц. Выбора нет, он очевиден. В итоге мы получаем разрыв, которого у психотерапии как индустрии раньше в таком масштабе не было. У богатых - живая работа с фрустрацией, медленная, болезненная, эффективная. У всех остальных - чат-бот, который валидирует каждый их паттерн и не скажет про четвертый раз никогда. Это не разница в качестве услуги. Это разница в том, кому общество разрешает меняться, а кому только чувствовать себя понятым. Симулякр терапии стал терапией не потому, что мы перестали видеть разницу, а потому, что разница слишком дорого обходится, чтобы ее хотеть видеть.А дальше неизбежное. Психозы на почве LLM-компаньонства уже есть. Их будет заметно больше. Так будет потому, что это следствие ограничений AI: машина усиливает существующие искажения вместо того, чтобы их встречать. Человек, уверенный, что только LLM его и понимает, встречает все меньше поводов сомневаться в этом, и все глубже уходит в контур, где единственный собеседник подтверждает любую его реальность. В какой-то момент из этого контура уже нельзя проверить, остался ли снаружи кто-то настоящий. Мы, по сути, придумали первый в истории способ чувствовать себя выслушанным, ни разу не будучи услышанным. И большинство людей, которые доберутся до этого способа, никогда не узнают, что их не услышали. Помните начало фильма "Матрица"? Вот все то же, только без страшных баков и снующих роботов.
🗓 Выброси Date и забудь Calendar Если ты работал с java.util.Date или Calendar, то сталкивался с этими проблемами. Мутабельные объекты, месяцы с нуля, запутанный API. В Java 8 появился java.time (JSR-310), и это то, что должно было быть с самого начала.🔹 Instant — source of truthInstant now = Instant.now(); // 2024-01-15T19:00:00Z// Из Unix timestampInstant fromSeconds = Instant.ofEpochSecond(1705341600L);// Получить timestamplong epochMilli = now.toEpochMilli();// АрифметикаInstant later = now.plusSeconds(3600); // +1 час// Наносекундная точность (не то что Date с миллисекундами)long nanos = now.getNano();Храни в БД именно Instant. Никакой TZ-зависимости и никаких сюрпризов.🔹 LocalDateTime, когда TZ не нужнаLocalDateTime dt = LocalDateTime.of(2024, 1, 15, 19, 0, 0);LocalDateTime parsed = LocalDateTime.parse("2024-01-15T19:00:00");// ✅ Юзер ввёл дату без TZ// ✅ Бизнес-логика без мультирегиональности// ❌ Хранение в БД — используй Instant// ❌ API-ответы — неоднозначно без TZ🔹 ZonedDateTime для пользователейZonedDateTime ny = ZonedDateTime.now(ZoneId.of("America/New_York"));ZonedDateTime tokyo = ZonedDateTime.now(ZoneId.of("Asia/Tokyo"));// Конвертация между TZ — один и тот же момент времениZonedDateTime london = ny.withZoneSameInstant(ZoneId.of("Europe/London"));DST обрабатывается автоматически:// 10 марта 2:30 AM не существует (переход на летнее время)LocalDateTime nonExistent = LocalDateTime.of(2024, 3, 10, 2, 30);ZonedDateTime adjusted = nonExistent.atZone(ZoneId.of("America/New_York"));// → автоматически станет 3:30 AM EDT🔹 ZonedDateTime vs OffsetDateTime// ZonedDateTime — знает правила DST, для будущих датZonedDateTime zdt = ZonedDateTime.now(ZoneId.of("America/New_York"));// OffsetDateTime — просто смещение, без DST. Для прошлых событий и APIOffsetDateTime odt = OffsetDateTime.now(ZoneOffset.ofHours(-5));🔹 DateTimeFormatter для форматирования и парсингаLocalDateTime dt = LocalDateTime.of(2024, 1, 15, 19, 0, 0);// Predefineddt.format(DateTimeFormatter.ISO_LOCAL_DATE_TIME); // "2024-01-15T19:00:00"dt.format(DateTimeFormatter.BASIC_ISO_DATE); // "20240115"// CustomDateTimeFormatter fmt = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");dt.format(fmt); // "2024-01-15 19:00:00"// Парсинг с обработкой ошибокpublic static Optional<LocalDateTime> parse(String s) { try { return Optional.of(LocalDateTime.parse(s, fmt)); } catch (DateTimeParseException e) { return Optional.empty(); }}🔹 Шпаргалка по токенамyyyy → 2024 MM → 01 dd → 15HH → 19 (24h) hh → 07 (12h) mm → 00ss → 00 SSS → 123 a → PMz → EST Z → -0500 VV → America/New_York🔹 Duration vs Period // Duration — точный временной интервалDuration duration = Duration.ofHours(24); // ровно 86400 секунд// Period — календарный интервалPeriod period = Period.ofDays(1); // 1 день (может быть 23 или 25 ч. при DST!)// Оба работают с LocalDateTime, но семантика разная:dt.plus(Duration.ofHours(24)); // +86400 секdt.plus(Period.ofDays(1)); // +1 календарный день🔹 Миграция с легаси// Date → InstantInstant instant = oldDate.toInstant();// Instant → DateDate date = Date.from(instant);// Date → LocalDateTimeLocalDateTime ldt = oldDate.toInstant() .atZone(ZoneId.systemDefault()) .toLocalDateTime();══════ Навигация ══════Вакансии • Задачи • Собесы🐸 Библиотека джависта #Enterprise
Админское-бытовое. У нас была кружка пива, беспаечная макетная плата, контроллер ESP8266, высокочастотный преобразователь напряжения, пара высокотоковых драйверов двигателей постоянного тока, два электронных гироскопа, лабораторный блок питания и мощный линейный блок для конечной конструкции, а также коробка проводов dupont разных цветов и размеров (буквально). Не то, чтобы это был необходимый запас для создания рабочего стола. Но если уж начал собирать управляющую электронику для подъёмного механизма - сложно остановиться. Единственное, что вызывало у меня опасения - включение этой схемы в систему умного дома. Нет ничего более беспомощного, безответственного и испорченного, чем человек собирающий устройства IoT в какой-нибудь богомерзкий Home Assistant. Я знал, что рано или поздно мы перейдём и на эту дрянь.📱 Айтишник в ватничке