Даны две строки
word1 и word2, верните минимальное количество шагов, необходимое для того, чтобы слова word1 и word2 стали одинаковыми.За один шаг вы можете удалить ровно один символ в каждой строке.
Пример 1:
Входные данные:
word1 = "sea", word2 = "eat"Вывод:
2Пояснение: Нужен один шаг, чтобы преобразовать
"sea" в "ea", и еще один шаг, чтобы преобразовать "eat" в "ea".Пример 2:
Входные данные:
word1 = "leetcode", word2 = "etco"Вывод:
4Ограничения:
1.
1 <= word1.length, word2.length <= 5002.
word1 и word2 состоят только из строчных английских букв.Please open Telegram to view this post
VIEW IN TELEGRAM
🔥5❤4
В статье рассказывается о создании Android-приложения для фильтрации спам-звонков.
Автор делится опытом разработки, описывая обработку входящих вызовов, проверку номеров через API и отображение уведомлений пользователю.
Please open Telegram to view this post
VIEW IN TELEGRAM
❤10👍5🔥2
❤10🤯1
«Thread-safe» — это способность объекта или кода работать корректно в многопоточной среде, где несколько потоков одновременно обращаются к одному и тому же ресурсу. Это достигается путем синхронизации доступа к общим данным.
Основная проблема многопоточности — состояние гонки, когда несколько потоков изменяют общие данные, вызывая некорректное поведение программы. Использование ключевого слова
synchronized позволяет избежать этих проблем, обеспечивая безопасный доступ к данным.Please open Telegram to view this post
VIEW IN TELEGRAM
👍19❤15
Почему строка популярна в качестве ключа в HashMap?
Ответ:
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥23❤8💯4
В статье рассматривается различие между символами 'Y' и 'y' при форматировании дат в Java.
Автор объясняет, как использование 'Y' может привести к неожиданным результатам, особенно в конце года, и предлагает способы избежать подобных ошибок.
Please open Telegram to view this post
VIEW IN TELEGRAM
❤10🔥4
🤔20👍5❤2
Иногда можно столкнуться с необходимостью преобразовать
Iterable в Collection. Например, сторонние библиотеки часто возвращают результаты в виде Iterable, но для дальнейшей работы удобнее использовать Collection.Давайте рассмотрим два способа, как это можно сделать:
С помощью Stream API это преобразование можно выполнить за пару строк:
Iterable<String> iterable = new ArrayList<>();
Collection<String> collection = StreamSupport.stream(iterable.spliterator(), false)
.collect(Collectors.toList());
Сначала создаётся поток из
Iterable, а затем результат собирается в список. Если вы используете библиотеку Guava от Google, преобразование становится ещё проще:
Iterable<String> iterable = new ArrayList<>();
Collection<String> collection = Lists.newArrayList(iterable);
Этот подход идеален, если Guava уже подключена к вашему проекту.
Оба способа быстро решают задачу и помогают избежать лишнего кода.
Please open Telegram to view this post
VIEW IN TELEGRAM
❤19👍6🔥2
У вас есть клумба, где одни участки засажены (1), а другие пусты(0). Цветы нельзя сажать на соседних участках.
Дан массив
flowerbed (0 — пусто, 1 — занято) и число n. Нужно определить, можно ли посадить n цветов, соблюдая правило, чтобы соседние участки оставались свободными. Верните
true, если это возможно, и false — если нет.Пример 1:
Входные данные:
flowerbed = [1,0,0,0,1], n = 1Вывод:
trueПример 2:
Входные данные:
flowerbed = [1,0,0,0,1], n = 2Вывод:
falsePlease open Telegram to view this post
VIEW IN TELEGRAM
❤5🤔3🔥2
В статье рассматривается работа с транзакциями в Spring: зачем они нужны, как работают и как их правильно настроить.
Автор объясняет, как обеспечить целостность данных при выполнении операций, приводя примеры кода и практические рекомендации.
Please open Telegram to view this post
VIEW IN TELEGRAM
❤15
❤6👍1