Статьи с тэгом «алгоритмы»
22 февраля 2023
Тэги:
Java,
алгоритмы,
головоломки.
Инвертирование массива - это изменение порядка следования его элементов на обратный, т.е. первый элемент становится последним, а последний - первым.
21 февраля 2023
Тэги:
Java,
Collections,
головоломки,
алгоритмы.
Одно слово является анаграммой другого, если второе слово получается из первого путём перестановки букв. Даны две строки и нужно определить, являются ли они анаграммами.
8 июля 2022
Тэги:
алгоритмы,
Java,
головоломки.
Палиндром - это слово или строка текста, которая читается слева направо и справа налево одинаково. Например, палиндромами являются такие слова как "ага", "дед", "довод", "кабак", "мадам", "шалаш". Рассмотрим эффективный алгоритм определения палиндрома на Java.
17 июня 2022
Тэги:
Java,
Collections,
алгоритмы,
головоломки,
руководство,
YouTube.
Алгоритм заключается в том, что мы берём всё множество целых чисел в интересующем нас диапазоне, от 2 до N. Затем проходимся по этому множеству, вычёркивая каждое чётное число. После этого возвращаемся в начало и вычёркиваем все числа, делящиеся на 3, если они ещё не зачёркнуты. Мы "просеиваем" исходное множество целых чисел через сито. В итоге у нас останутся только простые числа.
16 июня 2022
Тэги:
Java,
алгоритмы.
Простое число - это число, которое делится нацело без остатка только на 1 и на самого себя. Также известно, что любое целое число, большее 1, является либо простым, либо может быть выражено как произведение простых чисел.
11 апреля 2022
Тэги:
Java,
алгоритмы.
Суть бинарного поиска можно описать как "разделяй и властвуй". Исходный отсортированный по порядку массив мы делим пополам и проверяем элемент посередине. Если он равен тому, который мы ищем, то возвращаем его индекс. Если не равен, то проверяем границы и выбираем ту половину, в которой искомый элемент может находиться и выполняем проверку снова.
4 апреля 2021
Тэги:
алгоритмы,
Kotlin,
Java.
Среди других алгоритмов сортировки "пузырьковая" является самой медленной. Суть алгоритма заключается в том, что мы последовательно проходимся по массиву элементов, сравнивая текущий и предыдущий между собой. Если предыдущий больше текущего, то меняем их местами.
22 марта 2021
Тэги:
Java,
алгоритмы,
головоломки.
Среди алгоритмических задач часто встречается задача на проверку скобочной последовательности. На вход передаётся строка, в которой содержатся символы скобок и, возможно, другие символы. И нужно ответить, правильно ли скобки вложены друг в друга или нет?
13 февраля 2020
Тэги:
алгоритмы,
Spring,
Java.
MD5 хэш (Message Digest 5) – это 128 битный алгоритм вычисления хэша от сообщения произвольной длины. Чаще всего хэш вычисляется от строки (для проверки паролей) и от файла (для контроля его целостности).
Следует сразу же заметить, что хранение паролей в виде md5-хэшей в настоящее время считается небезопасным, т.к. md5-хэш довольно сильно подвержен коллизиям. Коллизией называется ситуация, когда у двух исходных сообщений хэши равны. То есть для успешного прохождения проверки пароля, сохраняемого в виде md5-хэша, вам даже не обязательно знать именно этот пароль. Достаточно знать пароль, имеющий такой же хэш. Более того, хэши от простых паролей можно напрямую искать в Google.
Алгоритм хэширования MD5 является частью стандартной библиотеки Java, поэтому вычислить хэш от строки (например, от пароля) достаточно легко.
25 января 2020
Тэги:
алгоритмы,
Stream API,
файлы,
Java.
При работе с файловой системой может потребоваться вычислить размер папки (folder) с лежащими в ней файлами. Как известно, директория - это лишь логический раздел на файловой системе, поэтому её размер равняется сумме размеров всех файлов, находящихся внутри неё. При этом нужно пройтись по всей иерархии файлов и папок, находящихся внутри.
❮ Назад
Далее ❯
Облако тэгов
Kotlin,
Java,
Spring,
Spring Boot,
Spring Data,
Spring AI,
SQL,
PostgreSQL,
Oracle,
H2,
Linux,
Hibernate,
Collections,
Stream API,
многопоточность,
чат-боты,
нейросети,
файлы,
devops,
Docker,
Nginx,
Apache,
maven,
gradle,
JUnit,
YouTube,
руководство,
ООП,
алгоритмы,
головоломки,
rest,
GraphQL,
Excel,
XML,
json,
yaml.