Перейти к основному содержимому

117 записей с тегом "Алгоритмы"

Посмотреть все теги

· 7 мин. чтения

1. Обзор

В этом руководстве мы узнаем о кеше LRU и рассмотрим его реализацию на Java.

2. LRU-кэш

Кэш-память наименее использовавшихся (LRU) — это алгоритм вытеснения кэша, который упорядочивает элементы в порядке их использования. В LRU, как следует из названия, элемент, который не использовался дольше всего, будет удален из кэша.

Например, если у нас есть кэш емкостью три элемента:

· 10 мин. чтения

1. Обзор

Наименьшее общее кратное (НОК) двух ненулевых целых чисел (a, b) — это наименьшее положительное целое число, которое идеально делится как на a , так и на b .

В этом уроке мы узнаем о различных подходах к нахождению LCM двух или более чисел. Мы должны отметить, что отрицательные целые числа и ноль не являются кандидатами для LCM .

2. Вычисление LCM двух чисел с использованием простого алгоритма

Мы можем найти НОК двух чисел, используя тот простой факт, что умножение есть многократное сложение .

· 2 мин. чтения

1. Обзор

В этом руководстве мы покажем несколько способов определить, является ли данный год високосным в Java.

Високосный год – это год, который делится на 4 и 400 без остатка . Таким образом, годы, которые делятся на 100, но не делятся на 400, не подходят, даже если они делятся на 4.

2. Использование API календаря до Java-8

Начиная с Java 1.1, класс GregorianCalendar позволяет нам проверять, является ли год високосным:

· 3 мин. чтения

1. Обзор

В этом кратком руководстве мы увидим, как рассчитать возраст с помощью библиотек Java 8, Java 7 и Joda-Time.

Во всех случаях мы возьмем дату рождения и текущую дату в качестве входных данных и вернем рассчитанный возраст в годах.

2. Использование Java 8

Java 8 представила новый API Date-Time для работы с датами и временем, в значительной степени основанный на библиотеке Joda-Time.

· 7 мин. чтения

1. Обзор

В этом руководстве мы узнаем, как реализовать кольцевой буфер в Java.

2. Кольцевой буфер

Кольцевой буфер (или Circular Buffer) — это ограниченная круговая структура данных, которая используется для буферизации данных между двумя или более потоками . Поскольку мы продолжаем писать в кольцевой буфер, он циклически повторяется по мере достижения конца.

2.1. Как это работает

· 6 мин. чтения

1. Обзор

В этом руководстве мы углубимся в область моделирования данных для управляемой событиями архитектуры с использованием Apache Kafka .

2. Настройка

Кластер Kafka состоит из нескольких брокеров Kafka, зарегистрированных в кластере Zookeeper. Для простоты мы будем использовать готовые образы Docker и конфигурации для составления докеров, опубликованные Confluent .

Во-первых, давайте загрузим docker-compose.yml для кластера Kafka с 3 узлами:

· 4 мин. чтения

1. Обзор

В математике НОД двух целых чисел, не равных нулю, — это наибольшее положительное целое число, на которое каждое из целых чисел делится без остатка.

В этом уроке мы рассмотрим три подхода к нахождению наибольшего общего делителя (НОД) двух целых чисел. Далее мы рассмотрим их реализацию на Java.

2. Грубая сила

Для нашего первого подхода мы итерируем от 1 до наименьшего заданного числа и проверяем, делятся ли заданные целые числа на индекс. Наибольший индекс, который делит данные числа , - это НОД данных чисел:

· 7 мин. чтения

1. Введение

Логистическая регрессия является важным инструментом в наборе инструментов для практиков машинного обучения (ML).

В этом уроке мы рассмотрим основную идею логистической регрессии .

Во-первых, давайте начнем с краткого обзора парадигм и алгоритмов машинного обучения.

2. Обзор

· 6 мин. чтения

1. Обзор

В этой статье мы увидим, как найти наибольшую степень числа 2, которая меньше заданного числа.

Для наших примеров мы возьмем выборку ввода 9. 2 ^0 равно 1, наименьший допустимый ввод, для которого мы можем найти степень 2, меньшую, чем данный ввод, равен 2. Следовательно, мы будем рассматривать только входы больше 1 как действительный.

2. Наивный подход

Давайте начнем с 2 ^0 , что равно 1, и мы будем продолжать умножать число на 2, пока не найдем число, которое меньше входного значения :

· 3 мин. чтения

1. Обзор

В этом кратком руководстве мы покажем, как реализовать алгоритм поиска всех пар чисел в массиве, сумма которых равна заданному числу. Мы сосредоточимся на двух подходах к проблеме .

При первом подходе мы найдем все такие пары независимо от их уникальности. Во втором мы найдем только уникальные комбинации чисел, удалив лишние пары.

Для каждого подхода мы представим две реализации — традиционную реализацию с использованием циклов for и вторую с использованием Java 8 Stream API.

2. Вернуть все совпадающие пары