#полезное
Задача: 495. Teemo Attacking
Наш герой Тимо атакует врага Эшу ядовитыми атаками! Когда Тимо атакует Эшу, она оказывается отравленной на ровно duration секунд. Более формально, атака в секунду t означает, что Эша будет отравлена в течение интервала времени [t, t + duration - 1] включительно. Если Тимо атакует снова до окончания эффекта яда, таймер для него сбрасывается, и эффект яда закончится через duration секунд после новой атаки.
Вам дано неубывающее целое число timeSeries, где timeSeries[i] обозначает, что Тимо атакует Эшу во вторую timeSeries[i], и целое число duration.
Верните общее количество секунд, в течение которых Эша была отравлена.
Пример:
👨💻 Алгоритм:
1⃣ Инициализация
Инициализируйте переменную total для хранения общего времени, в течение которого Эша была отравлена. Проверьте, если массив timeSeries пуст, верните 0.
2⃣ Итерация
Пройдите по всем элементам массива timeSeries, кроме последнего. На каждой итерации добавьте к total минимальное значение между длительностью интервала и временем действия яда duration.
3⃣ Возврат результата
Верните сумму total и duration, чтобы учесть последнюю атаку.
😎 Решение:
👉 Новости 👉 База вопросов
Задача: 495. Teemo Attacking
Наш герой Тимо атакует врага Эшу ядовитыми атаками! Когда Тимо атакует Эшу, она оказывается отравленной на ровно duration секунд. Более формально, атака в секунду t означает, что Эша будет отравлена в течение интервала времени [t, t + duration - 1] включительно. Если Тимо атакует снова до окончания эффекта яда, таймер для него сбрасывается, и эффект яда закончится через duration секунд после новой атаки.
Вам дано неубывающее целое число timeSeries, где timeSeries[i] обозначает, что Тимо атакует Эшу во вторую timeSeries[i], и целое число duration.
Верните общее количество секунд, в течение которых Эша была отравлена.
Пример:
Input: timeSeries = [1,4], duration = 2
Output: 4
Explanation: Teemo's attacks on Ashe go as follows:
- At second 1, Teemo attacks, and Ashe is poisoned for seconds 1 and 2.
- At second 4, Teemo attacks, and Ashe is poisoned for seconds 4 and 5.
Ashe is poisoned for seconds 1, 2, 4, and 5, which is 4 seconds in total.
Инициализируйте переменную total для хранения общего времени, в течение которого Эша была отравлена. Проверьте, если массив timeSeries пуст, верните 0.
Пройдите по всем элементам массива timeSeries, кроме последнего. На каждой итерации добавьте к total минимальное значение между длительностью интервала и временем действия яда duration.
Верните сумму total и duration, чтобы учесть последнюю атаку.
class Solution {
function findPoisonedDuration($timeSeries, $duration) {
$n = count($timeSeries);
if ($n == 0) return 0;
$total = 0;
for ($i = 0; $i < $n - 1; $i++) {
$total += min($timeSeries[$i + 1] - $timeSeries[$i], $duration);
}
return $total + $duration;
}
}
Please open Telegram to view this post
VIEW IN TELEGRAM
#Собес #git
🤔 Что такое команда git cherry-pick?
💬 Кратко:
Команда
📌 Полный разбор + примеры использования — на платформе:
👉 Перейти к разбору
📣 Хочешь получать больше таких разборов?
Подпишись на наш главный канал
💬 Кратко:
Команда
git cherry-pick
позволяет выбрать и применить отдельный коммит из другой ветки в вашу текущую ветку, минуя другие изменения, которые были сделаны в той же ветке. Это полезно, когда вам нужно перенести только один коммит, а не весь набор изменений.📌 Полный разбор + примеры использования — на платформе:
👉 Перейти к разбору
📣 Хочешь получать больше таких разборов?
Подпишись на наш главный канал
Please open Telegram to view this post
VIEW IN TELEGRAM
#новости
😎 Релиз Laravel 12.29
с новым дизайном страницы ошибок
https://github.com/laravel/framework/releases
👉 Новости 👉 База вопросов
с новым дизайном страницы ошибок
https://github.com/laravel/framework/releases
Please open Telegram to view this post
VIEW IN TELEGRAM
#полезное
👨💻 Laravel lazy() против get()
Знаешь ли ты… что можно обрабатывать большие объёмы данных из базы с помощью lazy() — это гораздо эффективнее по памяти, чем get().
👉 Новости 👉 База вопросов
Знаешь ли ты… что можно обрабатывать большие объёмы данных из базы с помощью lazy() — это гораздо эффективнее по памяти, чем get().
Please open Telegram to view this post
VIEW IN TELEGRAM
✍1❤1
#полезное
📞 Laravel-хак для удобной разработки (DX)
Добавьте PHPDoc к моделям Eloquent, чтобы улучшить:
🟠 автодополнение в IDE
🟠 поиск багов через статический анализ
🟠 читаемость и понятность кода
Простой приём, который сильно повышает качество разработки.
👉 Новости 👉 База вопросов
Добавьте PHPDoc к моделям Eloquent, чтобы улучшить:
Простой приём, который сильно повышает качество разработки.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1
#Собес #git
🤔 Как вы можете ввести слияние на стадии конфликта?
💬 Кратко:
При возникновении конфликта в Git нужно вручную разрешить расхождения в файлах, а затем завершить слияние с помощью команды
📌 Полный разбор + примеры использования — на платформе:
👉 Перейти к разбору
📣 Хочешь получать больше таких разборов?
Подпишись на наш главный канал
💬 Кратко:
При возникновении конфликта в Git нужно вручную разрешить расхождения в файлах, а затем завершить слияние с помощью команды
git merge -- continue
.📌 Полный разбор + примеры использования — на платформе:
👉 Перейти к разбору
📣 Хочешь получать больше таких разборов?
Подпишись на наш главный канал
Please open Telegram to view this post
VIEW IN TELEGRAM
#статьи
😵 Как устроены массивы в PHP и как код влияет на скорость работы с ними
https://habr.com/ru/articles/947162/
👉 Новости 👉 База вопросов
https://habr.com/ru/articles/947162/
Please open Telegram to view this post
VIEW IN TELEGRAM
Хабр
Как устроены массивы в PHP и как код влияет на скорость работы с ними
Массивы — это хлеб и масло PHP-разработчика. Мы используем их постоянно, но редко задумываемся, как они устроены внутри. А от этого устройства напрямую зависит скорость и память нашего приложения....
#полезное
🥄 Совет по Laravel
Рейт-лимитинг иногда бывает непростым, верно? Но не в Laravel.
Посмотри, как просто применить rate limit для каждой команды и тарифного плана, с фоллбеком на IP
👉 Новости 👉 База вопросов
Рейт-лимитинг иногда бывает непростым, верно? Но не в Laravel.
Посмотри, как просто применить rate limit для каждой команды и тарифного плана, с фоллбеком на IP
Please open Telegram to view this post
VIEW IN TELEGRAM
#полезное
👋 SQL performance improvements: finding the right queries to fix
https://ohdear.app/news-and-updates/sql-performance-improvements-finding-the-right-queries-to-fix-part-1
👉 Новости 👉 База вопросов
https://ohdear.app/news-and-updates/sql-performance-improvements-finding-the-right-queries-to-fix-part-1
Please open Telegram to view this post
VIEW IN TELEGRAM
#Собес #php
🤔 Как реализовать аутентификацию в РНР?
💬 Кратко:
Для реализации аутентификации в РНР обычно используется проверка имени пользователя и пароля. Пароли должны храниться в базе данных в зашифрованном виде (например, с использованием
📌 Полный разбор + примеры использования — на платформе:
👉 Перейти к разбору
📣 Хочешь получать больше таких разборов?
Подпишись на наш главный канал
💬 Кратко:
Для реализации аутентификации в РНР обычно используется проверка имени пользователя и пароля. Пароли должны храниться в базе данных в зашифрованном виде (например, с использованием
bcrypt
). При успешной аутентификации создаётся сессия для отслеживания состояния пользователя. Важно использовать HTTPS для зашиты ланных. а также поелусмотаеть пополнительные метолы оезопасности. такие как пвухоактоона, защиты данных, а также предусмотреть дополнительные методы безопасности, такие как двухфакторная аутентификация.📌 Полный разбор + примеры использования — на платформе:
👉 Перейти к разбору
📣 Хочешь получать больше таких разборов?
Подпишись на наш главный канал
Please open Telegram to view this post
VIEW IN TELEGRAM
YeaHub
YeaHub — тренажер собеседований по IT
5000+ вопросов для подготовки к интервью. Фильтры, квизы, статистика!
#полезное
😊 Работаете с PHP Enum? Параметры маршрута могут автоматически валидировать и инжектить значения Enum
Laravel вернёт 404 для некорректных значений Enum, так что контроллеры остаются чистыми.
Ссылка на документацию: https://laravel.com/docs/12.x/routing#implicit-enum-binding
👉 Новости 👉 База вопросов
Laravel вернёт 404 для некорректных значений Enum, так что контроллеры остаются чистыми.
Ссылка на документацию: https://laravel.com/docs/12.x/routing#implicit-enum-binding
Please open Telegram to view this post
VIEW IN TELEGRAM
This media is not supported in your browser
VIEW IN TELEGRAM
#полезное
👨💻 Бета-релиз Laravel MCP
Библиотека, упрощающая создание серверов Model Context Protocol в приложениях Laravel. Даёт возможность AI-клиентам (таким как Claude, Cursor и ChatGPT) структурированный способ взаимодействия с вашим приложением.
https://laravel.com/docs/12.x/mcp
👉 Новости 👉 База вопросов
Библиотека, упрощающая создание серверов Model Context Protocol в приложениях Laravel. Даёт возможность AI-клиентам (таким как Claude, Cursor и ChatGPT) структурированный способ взаимодействия с вашим приложением.
https://laravel.com/docs/12.x/mcp
Please open Telegram to view this post
VIEW IN TELEGRAM
#ЛитКод
Задача: 503. Next Greater Element II
Дан циклический массив целых чисел nums (т.е. следующий элемент после nums[nums.length - 1] это nums[0]), верните следующее большее число для каждого элемента в nums.
Следующее большее число для числа x — это первое большее число, следующее за ним в порядке обхода массива, что означает, что вы можете искать циклически, чтобы найти следующее большее число. Если оно не существует, верните -1 для этого числа.
Пример:
👨💻 Алгоритм:
1⃣ Инициализация
Создайте массив res той же длины, что и nums, и заполните его значениями -1.
2⃣ Поиск следующего большего элемента
Для каждого элемента nums[i], используя индекс j, ищите следующий больший элемент среди следующих (циклически) n-1 элементов. Если найден больший элемент, обновите res[i] и прервите внутренний цикл.
3⃣ Возврат результата
Верните массив res.
😎 Решение:
👉 Новости 👉 База вопросов
Задача: 503. Next Greater Element II
Дан циклический массив целых чисел nums (т.е. следующий элемент после nums[nums.length - 1] это nums[0]), верните следующее большее число для каждого элемента в nums.
Следующее большее число для числа x — это первое большее число, следующее за ним в порядке обхода массива, что означает, что вы можете искать циклически, чтобы найти следующее большее число. Если оно не существует, верните -1 для этого числа.
Пример:
Input: nums = [1,2,1]
Output: [2,-1,2]
Explanation: The first 1's next greater number is 2;
The number 2 can't find next greater number.
The second 1's next greater number needs to search circularly, which is also 2.
Создайте массив res той же длины, что и nums, и заполните его значениями -1.
Для каждого элемента nums[i], используя индекс j, ищите следующий больший элемент среди следующих (циклически) n-1 элементов. Если найден больший элемент, обновите res[i] и прервите внутренний цикл.
Верните массив res.
class Solution {
function nextGreaterElements($nums) {
$n = count($nums);
$res = array_fill(0, $n, -1);
for ($i = 0; $i < $n; $i++) {
for ($j = 1; $j < $n; $j++) {
if ($nums[($i + $j) % $n] > $nums[$i]) {
$res[$i] = $nums[($i + $j) % $n];
break;
}
}
}
return $res;
}
}
Please open Telegram to view this post
VIEW IN TELEGRAM
LeetCode
Minimum Size Subarray Sum - LeetCode
Can you solve this real interview question? Minimum Size Subarray Sum - Given an array of positive integers nums and a positive integer target, return the minimal length of a subarray whose sum is greater than or equal to target. If there is no such subarray…
#Собес #php
🤔 Как бы вы описали паттерн проектирования Singleton?
💬 Кратко:
Паттерн Singleton гарантирует, что класс будет иметь только один экземпляр и предоставляет глобальную точку доступа к этому экземпляру. Это полезно для классов, которые управляют общими ресурсами, такими как подключение к базе данных или конфигурации приложения.
📌 Полный разбор + примеры использования — на платформе:
👉 Перейти к разбору
📣 Хочешь получать больше таких разборов?
Подпишись на наш главный канал
💬 Кратко:
Паттерн Singleton гарантирует, что класс будет иметь только один экземпляр и предоставляет глобальную точку доступа к этому экземпляру. Это полезно для классов, которые управляют общими ресурсами, такими как подключение к базе данных или конфигурации приложения.
📌 Полный разбор + примеры использования — на платформе:
👉 Перейти к разбору
📣 Хочешь получать больше таких разборов?
Подпишись на наш главный канал
Please open Telegram to view this post
VIEW IN TELEGRAM
YeaHub
YeaHub — тренажер собеседований по IT
5000+ вопросов для подготовки к интервью. Фильтры, квизы, статистика!
#статьи
🤯 Использование файберов в PHP
PHP и асинхронность. Такая комбинация долгие годы казалась невозможной, ведь PHP прочно ассоциировался с блокирующим подходом и синхронным выполнением скриптов «от запроса до ответа». С выходом PHP 8.1 ситуация несколько изменилась — появилась возможность реализовать асинхронность в PHP на основе файберов. Но есть нюанс — вопрос о том, действительно ли PHP с приходом файберов стал асинхронным, по-прежнему для многих остается открытым.
Хабр
👉 Новости 👉 База вопросов
PHP и асинхронность. Такая комбинация долгие годы казалась невозможной, ведь PHP прочно ассоциировался с блокирующим подходом и синхронным выполнением скриптов «от запроса до ответа». С выходом PHP 8.1 ситуация несколько изменилась — появилась возможность реализовать асинхронность в PHP на основе файберов. Но есть нюанс — вопрос о том, действительно ли PHP с приходом файберов стал асинхронным, по-прежнему для многих остается открытым.
Хабр
Please open Telegram to view this post
VIEW IN TELEGRAM
Хабр
Использование файберов в PHP: разбор от команды СберЗдоровье
PHP и асинхронность. Такая комбинация долгие годы казалась невозможной, ведь PHP прочно ассоциировался с блокирующим подходом и синхронным выполнением скриптов «от запроса до ответа». С выходом PHP...
Партиционирование таблиц в MySQL может существенно повысить производительность запросов за счёт разбивки больших таблиц на более мелкие физические файлы
👉 Новости 👉 База вопросов
Please open Telegram to view this post
VIEW IN TELEGRAM
#полезное
👋 Laravel Notifications: dynamic channels, priority, and delayed sending
https://crnkovic.me/laravel-notifications-on-steroids
👉 Новости 👉 База вопросов
https://crnkovic.me/laravel-notifications-on-steroids
Please open Telegram to view this post
VIEW IN TELEGRAM
crnkovic.me
Laravel Notifications: dynamic channels, priority, and delayed sending - Josip Crnković
Learn how to make Laravel notifications super powerful: multi-channel, delayed sending, and customizable.
👍1
#Собес #php
🤔 Как реализовать внедрение зависимостей (Dependency Injection) в РНР?
💬 Кратко:
Внедрение зависимостей (DI) в РНР осуществляется путём передачи зависимостей (например, объектов) в класс через его конструктор или методы. Это позволяет легко тестировать классы и управлять их зависимостями, избегая жёсткой привязки. Современные фреймворки, такие как Laravel и Symfony, используют контейнеры зависимостей для автоматического управления внедрением.
📌 Полный разбор + примеры использования — на платформе:
👉 Перейти к разбору
📣 Хочешь получать больше таких разборов?
Подпишись на наш главный канал
💬 Кратко:
Внедрение зависимостей (DI) в РНР осуществляется путём передачи зависимостей (например, объектов) в класс через его конструктор или методы. Это позволяет легко тестировать классы и управлять их зависимостями, избегая жёсткой привязки. Современные фреймворки, такие как Laravel и Symfony, используют контейнеры зависимостей для автоматического управления внедрением.
📌 Полный разбор + примеры использования — на платформе:
👉 Перейти к разбору
📣 Хочешь получать больше таких разборов?
Подпишись на наш главный канал
Please open Telegram to view this post
VIEW IN TELEGRAM
YeaHub
YeaHub — тренажер собеседований по IT
5000+ вопросов для подготовки к интервью. Фильтры, квизы, статистика!
👍1
#полезное
😎 Debugging and logging in Laravel applications
🟠 Логирование с помощью Monolog
🟠 Какие инструменты использовать для отладки
🟠 Устранение проблем с производительностью
🟠 Отладка и логирование в продакшене с помощью Sentry
https://blog.sentry.io/laravel-debugging-logging-guide/
👉 Новости 👉 База вопросов
https://blog.sentry.io/laravel-debugging-logging-guide/
Please open Telegram to view this post
VIEW IN TELEGRAM
#новости
😊 Первая информацию о PHP 9.0
https://nabilhassen.com/php-90-release-date-and-features-you-must-know
👉 Новости 👉 База вопросов
https://nabilhassen.com/php-90-release-date-and-features-you-must-know
Please open Telegram to view this post
VIEW IN TELEGRAM
Nabilhassen
PHP 9.0: Release Date and Features You Must Know
Discover PHP 9.0 features and release date. Learn about new performance improvements, strict typing, and breaking changes developers must prepare for.