Как я могу уменьшить временную сложность этого метода?JAVA

Программисты JAVA общаются здесь
Ответить Пред. темаСлед. тема
Anonymous
 Как я могу уменьшить временную сложность этого метода?

Сообщение Anonymous »

Прежде всего, я прошу прощения за несогласие.
Контекст: у меня есть класс с двумя полями, одно из которых представляет собой целое число, представляющее дату (для этой конкретной проблемы оно должно быть целым числом). . У меня также есть метод, который выполняет двоичный поиск в массиве целых чисел с временной сложностью O(Log(N)).
Мне нужно создать метод, который получает две даты (начальную и конечную) и список объектов указанного класса. Список может быть ArrayList или LinkedList. Цель состоит в том, чтобы узнать, сколько объектов этого класса существует в списке в желаемом диапазоне дат (минимум 0 и максимум 2, заданных по определению), используя метод двоичного поиска.
Этот метод должен иметь временную сложность O(Log(N)), но я не могу понять, как его решить. Все мои решения оставляют мне временную сложность O(N) или даже хуже. Я оставлю метод ниже.
Я думал, что мне нужно передать значения даты в массив за постоянное время, но я даже не знаю, достижимо ли это.

Код: Выделить всё

public static int countEvents(int initialDate, int endDate, List list) {
int n = list.size(), i = 0;
int[] dates = new int[n];

for (Event event : list) {
dates[i] = event.getDate();
i++;
}

int InitialPos = binarySearch(dates, initialDate);
int EndPos = binarySearch(dates, endDate + 1);

return EndPos - InitialPos;
}
Спасибо за помощь!

Подробнее здесь: https://stackoverflow.com/questions/791 ... his-method
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Как уменьшить временную сложность этого кода? [закрыто]
    Anonymous » » в форуме C++
    0 Ответы
    43 Просмотры
    Последнее сообщение Anonymous
  • Как уменьшить временную сложность моего кода? [дубликат]
    Anonymous » » в форуме JAVA
    0 Ответы
    24 Просмотры
    Последнее сообщение Anonymous
  • Как я могу найти временную сложность этого конкретного кода?
    Anonymous » » в форуме C#
    0 Ответы
    26 Просмотры
    Последнее сообщение Anonymous
  • Как мне проанализировать временную сложность этого алгоритма? [закрыто]
    Anonymous » » в форуме JAVA
    0 Ответы
    19 Просмотры
    Последнее сообщение Anonymous
  • Как я могу уменьшить сложность пространства этого алгоритма факторизации?
    Anonymous » » в форуме Python
    0 Ответы
    10 Просмотры
    Последнее сообщение Anonymous

Вернуться в «JAVA»