Дан массив целых чисел
nums, отсортированный в порядке возрастания, и целочисленный target.Напишите функцию для поиска
target в nums. Если target существует, то верните его индекс. В противном случае верните значение -1.Необходимо написать алгоритм со сложностью выполнения
O(log n).Пример 1:
Входные данные:
nums = [-1,0,3,5,9,12], target = 9Вывод:
4Пример 2:
Входные данные:
nums = [-1,0,3,5,9,12], target = 2Вывод:
-1Please open Telegram to view this post
VIEW IN TELEGRAM
❤7
Недавно вышла новая версия IntelliJ IDEA 2024.3, в которой появилось довольно много новых фич.
В статье представлен подробный обзор основных возможностей в этом обновлении.
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥12👍5❤4
🔥14❤5👍1
Comparator — это интерфейс, который используется для реализации произвольной сортировки элементов коллекции. В отличие от
Comparable, где порядок задаётся в самом классе, Comparator позволяет вынести логику сортировки в отдельный объект.Чтобы задать свой порядок сортировки, нужно создать класс, реализующий
Comparator, и переопределить метод compare.Где же используется Comparator?
Collections.sort() и List.sort() принимают Comparator для сортировки списка в заданном порядке.Comparator определяет порядок элементов в TreeSet или порядок ключей в TreeMap.sorted() в потоках поддерживает Comparator для пользовательской сортировки.Итог: Comparator нужен, когда требуется гибкая или сложная сортировка, выходящая за рамки естественного порядка.
Please open Telegram to view this post
VIEW IN TELEGRAM
❤29👍6
Please open Telegram to view this post
VIEW IN TELEGRAM
😁26🔥6
Какие существуют области видимости (scopes) в Spring?
Ответ:
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥17❤3👍2
В статье подробно рассматривается создание собственной реализации JWT для защиты приложений с использованием Spring Security.
Автор объясняет процесс настройки базы данных, написания сервисов, фильтров, конфигурации безопасности и тестирования с помощью Postman, предоставляя практические примеры и рекомендации.
Please open Telegram to view this post
VIEW IN TELEGRAM
❤10👍4🤣1
🔥14❤2🤩2
Блокирующий метод — это метод, который приостанавливает выполнение текущего потока до выполнения определённого условия. Пока метод ожидает, поток не выполняет других операций.
Например, метод
readLine() из BufferedReader блокирует поток до тех пор, пока пользователь не введёт данные:BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
System.out.print("Введите строку: ");
String input = reader.readLine(); // Поток блокируется до ввода данных
System.out.println("Вы ввели: " + input);
Блокирующие методы полезны для задач, требующих ожидания, но их чрезмерное использование может снизить производительность, особенно в многопоточной среде.
Please open Telegram to view this post
VIEW IN TELEGRAM
❤17👍5
Please open Telegram to view this post
VIEW IN TELEGRAM
😁26🔥6
🔥8👍4❤1
Хэширование — это фундаментальный процесс в программировании, который применяется везде: от защиты паролей до ускорения поиска данных в структурах.
Эта статья поможет разобраться в основных видах хэшей, их применении, а также покажет, как их использовать на практике с примерами на Java.
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥8👍4❤2
Дан отсортированный целочисленный массив
nums и целое число n.Добавьте/исправьте элементы в массиве таким образом, чтобы любое число в диапазоне
[1, n] включительно могло быть образовано суммой некоторых элементов в массиве.Верните минимальное требуемое количество исправлений.
Пример 1:
Входные данные:
nums = [1,3], n = 6Вывод:
1Пояснение: Комбинации чисел
[1], [3], [1,3] образуют возможные суммы: 1, 3, 4. Теперь, если мы добавим 2 в массив, то получим следующие комбинации: [1], [2], [3], [1,3], [2,3], [1,2,3]. Возможными суммами являются 1, 2, 3, 4, 5, 6, которые теперь охватывают диапазон [1,6]. Таким образом, нам нужно только 1 добавление.Пример 2:
Входные данные:
nums = [1,5,10], n = 20Вывод:
2Пояснение: Достаточно добавить 2 и 4 в массив.
Пример 3:
Входные данные:
nums = [1,2,2], n = 5Вывод: 0
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥4❤1
Сегодня рассмотрим базовые понятия: что такое JDK, JRE и JVM. Это три ключевых компонента экосистемы, которые обеспечивают написание, запуск и выполнение программ.
javac, а также утилиты для написания, компиляции и отладки кода.Таким образом, JVM выполняет программы, JRE обеспечивает их запуск, а JDK предоставляет инструменты для их создания.
Please open Telegram to view this post
VIEW IN TELEGRAM
❤59💯36👍4