Telegram Web
#полезное
Задача: 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.


👨‍💻 Алгоритм:

1⃣Инициализация
Инициализируйте переменную total для хранения общего времени, в течение которого Эша была отравлена. Проверьте, если массив timeSeries пуст, верните 0.

2⃣Итерация
Пройдите по всем элементам массива timeSeries, кроме последнего. На каждой итерации добавьте к total минимальное значение между длительностью интервала и временем действия яда duration.

3⃣Возврат результата
Верните сумму 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

👉Новости 👉База вопросов
Please open Telegram to view this post
VIEW IN TELEGRAM
#полезное
👨‍💻 Laravel lazy() против get()

Знаешь ли ты… что можно обрабатывать большие объёмы данных из базы с помощью lazy() — это гораздо эффективнее по памяти, чем get().

👉Новости 👉База вопросов
Please open Telegram to view this post
VIEW IN TELEGRAM
11
#полезное
📞 Laravel-хак для удобной разработки (DX)

Добавьте PHPDoc к моделям Eloquent, чтобы улучшить:

🟠 автодополнение в IDE
🟠 поиск багов через статический анализ
🟠 читаемость и понятность кода

Простой приём, который сильно повышает качество разработки.

👉Новости 👉База вопросов
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1
#Собес #git
🤔 Как вы можете ввести слияние на стадии конфликта?

💬 Кратко:
При возникновении конфликта в Git нужно вручную разрешить расхождения в файлах, а затем завершить слияние с помощью команды git merge -- continue .

📌 Полный разбор + примеры использования — на платформе:
👉
Перейти к разбору

📣 Хочешь получать больше таких разборов?
Подпишись на наш главный канал
Please open Telegram to view this post
VIEW IN TELEGRAM
#полезное
🥄 Совет по Laravel

Рейт-лимитинг иногда бывает непростым, верно? Но не в Laravel.

Посмотри, как просто применить rate limit для каждой команды и тарифного плана, с фоллбеком на IP

👉Новости 👉База вопросов
Please open Telegram to view this post
VIEW IN TELEGRAM
#Собес #php
🤔 Как реализовать аутентификацию в РНР?

💬 Кратко:
Для реализации аутентификации в РНР обычно используется проверка имени пользователя и пароля. Пароли должны храниться в базе данных в зашифрованном виде (например, с использованием bcrypt ). При успешной аутентификации создаётся сессия для отслеживания состояния пользователя. Важно использовать HTTPS для зашиты ланных. а также поелусмотаеть пополнительные метолы оезопасности. такие как пвухоактоона, защиты данных, а также предусмотреть дополнительные методы безопасности, такие как двухфакторная аутентификация.

📌 Полный разбор + примеры использования — на платформе:
👉
Перейти к разбору

📣 Хочешь получать больше таких разборов?
Подпишись на наш главный канал
Please open Telegram to view this post
VIEW IN TELEGRAM
#полезное
😊 Работаете с PHP Enum? Параметры маршрута могут автоматически валидировать и инжектить значения Enum

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

👉Новости 👉База вопросов
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 для этого числа.

Пример:
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.


👨‍💻 Алгоритм:

1⃣Инициализация
Создайте массив res той же длины, что и nums, и заполните его значениями -1.

2⃣Поиск следующего большего элемента
Для каждого элемента nums[i], используя индекс j, ищите следующий больший элемент среди следующих (циклически) n-1 элементов. Если найден больший элемент, обновите res[i] и прервите внутренний цикл.

3⃣Возврат результата
Верните массив 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
#Собес #php
🤔 Как бы вы описали паттерн проектирования Singleton?

💬 Кратко:
Паттерн Singleton гарантирует, что класс будет иметь только один экземпляр и предоставляет глобальную точку доступа к этому экземпляру. Это полезно для классов, которые управляют общими ресурсами, такими как подключение к базе данных или конфигурации приложения.

📌 Полный разбор + примеры использования — на платформе:
👉
Перейти к разбору

📣 Хочешь получать больше таких разборов?
Подпишись на наш главный канал
Please open Telegram to view this post
VIEW IN TELEGRAM
#статьи
🤯 Использование файберов в PHP

PHP и асинхронность. Такая комбинация долгие годы казалась невозможной, ведь PHP прочно ассоциировался с блокирующим подходом и синхронным выполнением скриптов «от запроса до ответа». С выходом PHP 8.1 ситуация несколько изменилась — появилась возможность реализовать асинхронность в PHP на основе файберов. Но есть нюанс — вопрос о том, действительно ли PHP с приходом файберов стал асинхронным, по-прежнему для многих остается открытым.
Хабр

👉Новости 👉База вопросов
Please open Telegram to view this post
VIEW IN TELEGRAM
Партиционирование таблиц в MySQL может существенно повысить производительность запросов за счёт разбивки больших таблиц на более мелкие физические файлы

👉Новости 👉База вопросов
Please open Telegram to view this post
VIEW IN TELEGRAM
#Собес #php
🤔 Как реализовать внедрение зависимостей (Dependency Injection) в РНР?

💬 Кратко:
Внедрение зависимостей (DI) в РНР осуществляется путём передачи зависимостей (например, объектов) в класс через его конструктор или методы. Это позволяет легко тестировать классы и управлять их зависимостями, избегая жёсткой привязки. Современные фреймворки, такие как Laravel и Symfony, используют контейнеры зависимостей для автоматического управления внедрением.

📌 Полный разбор + примеры использования — на платформе:
👉
Перейти к разбору

📣 Хочешь получать больше таких разборов?
Подпишись на наш главный канал
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1
#полезное
😎 Debugging and logging in Laravel applications

🟠 Логирование с помощью Monolog
🟠 Какие инструменты использовать для отладки
🟠 Устранение проблем с производительностью
🟠 Отладка и логирование в продакшене с помощью Sentry
https://blog.sentry.io/laravel-debugging-logging-guide/

👉Новости 👉База вопросов
Please open Telegram to view this post
VIEW IN TELEGRAM
2025/10/24 10:11:13
Back to Top
HTML Embed Code: