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

54 записи с тегом "Java Array"

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

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

1. Обзор

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

2. Максимальный размер

Программа Java может выделять массив только до определенного размера. Обычно это зависит от используемой JVM и платформы. Поскольку индекс массива — int, приблизительное значение индекса может быть 2^31 — 1. Исходя из этого приближения, мы можем сказать, что массив теоретически может содержать 2 147 483 647 элементов .

В нашем примере мы используем реализации OpenJDK и Oracle для Java 8 и Java 15 на компьютерах Linux и Mac. Результаты были одинаковыми на протяжении всего нашего тестирования.

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

1. Обзор

Многомерный массив в Java — это массив, состоящий из массивов разного размера в качестве элементов. Его также называют «массивом массивов», «рваным массивом» или «зубчатым массивом».

В этом кратком руководстве мы более подробно рассмотрим определение многомерных массивов и работу с ними.

2. Создание многомерного массива

Давайте начнем с рассмотрения способов создания многомерного массива:

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

1. Обзор

Задача о максимальном подмассиве — это задача найти ряд смежных элементов с максимальной суммой в любом заданном массиве.

Например, в приведенном ниже массиве выделенный подмассив имеет максимальную сумму (6):

./f6d928f1aa51e95cf3d58d61ad146c32.jpg

В этом уроке мы рассмотрим два решения для поиска максимального подмассива в массиве . Один из них мы разработаем с O(n) временной и пространственной сложностью .

2. Алгоритм грубой силы

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

1. Введение

Нам часто нужно преобразовать между строкой и массивом байтов в Java. В этом уроке мы подробно рассмотрим эти операции.

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

2. Преобразование строки в массив байтов

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

1. Введение

В этой статье мы рассмотрим, как создавать перестановки массива .

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

Мы сосредоточимся на реализации на Java и поэтому не будем вдаваться в математические подробности.

2. Что такое перестановка?

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

1. Обзор

В этом руководстве мы реализуем различные решения проблемы поиска k самых больших элементов в массиве с помощью Java. Для описания временной сложности мы будем использовать нотацию Big-O .

2. Решение грубой силы

Грубое решение этой проблемы состоит в том, чтобы перебрать заданный массив k раз . На каждой итерации мы будем находить наибольшее значение . Затем мы удалим это значение из массива и поместим в выходной список:

public List findTopK(List input, int k) {
List array = new ArrayList<>(input);
List topKList = new ArrayList<>();

for (int i = 0; i < k; i++) {
int maxIndex = 0;

for (int j = 1; j < array.size(); j++) {
if (array.get(j) > array.get(maxIndex)) {
maxIndex = j;
}
}

topKList.add(array.remove(maxIndex));
}

return topKList;
}

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

1. Обзор

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

Мы также поймем механизм преобразования и напишем нашу реализацию для достижения этой цели.

2. Преобразование между байтами и шестнадцатеричными числами

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

1. Введение

В этом уроке мы узнаем, как объединить два отсортированных массива в один отсортированный массив.

2. Проблема

Давайте разбираться в проблеме. У нас есть два отсортированных массива, и мы хотели бы объединить их в один.

./0b711a3266b2d9a9ddc1cc8b0ce35769.png

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

1. Обзор

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

Во-первых, мы рассмотрим объяснение проблемы. После этого мы увидим три разных алгоритма, соответствующих нашим потребностям. Наконец, мы обсудим их сложности.

2. Объяснение проблемы

Во-первых, давайте объясним, какова цель алгоритма. Мы хотим найти наименьшее пропущенное положительное целое число в массиве положительных целых чисел. То есть в массиве из x элементов найдите наименьший элемент между 0 и x – 1 , которого нет в массиве. Если массив содержит их все, то решением является x , размер массива.

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

1. Обзор

Сложность алгоритмов во время выполнения часто зависит от характера входных данных.

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

Далее мы изучим несколько вариантов быстрой сортировки для эффективного разделения и сортировки входных данных с высокой плотностью повторяющихся ключей.

2. Тривиальная быстрая сортировка