Обновить

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

Надо разработать класс который запоминает текстовые заметки к точкам на карте. Одна точка - одна заметка. Карта дискретная, 10,000 на 10,000 точек. Заметок всего ожидается несколько дюжин, максимум 100-200 штук.

Класс должен имплементировать следующий интерфейс

public interface MapService {

    void addLabel(int x, int y, String label);

    String fetchLabel(int x, int y);

}

addLabel - сохраняет заметку для точки на карте, перетирая предыдущую если она есть

fetchLabel - возвращает заметку для точки на карте, если заметки нет, возвращает null

Вопрос - какую структуру данных в памяти следует использовать для хранения данных

Уточнение которое надо задать после ответа на первый вопрос. Требования дополнились и теперь надо имплементировать еще один метод

List<String> fetchAllLabelsSorted();

Метод возвращает все заметки какие есть в порядке их близости к центру координат - точке (0,0)

Бонус: В плюс идет если кандидат спросит по какой метрике считать близость к центру.

Всего голосов 3: ↑3 и ↓0+3
Комментарии9

Как универсальный разъем стал кошмаром: почему одинаковые кабели USB-C отличаются по скорости в 80 раз

В 2016 году инженер Google Бенсон Леунг подключил к своему Chromebook Pixel кабель USB-C, купленный на Amazon, и ноутбук больше не включился нормально. В кабеле перепутали провода питания и земли, хотя снаружи он ничем не отличался от исправного.

С тех пор опасных кабелей стало меньше, но путаница никуда не делась. Одинаковые на вид кабели USB-C отличаются по скорости в 80 раз, по мощности в 4 раза, а маркировку на них ставят далеко не всегда. Разбираемся, как универсальный разъем стал инженерным кошмаром.

Как универсальный разъем стал кошмаром: почему одинаковые кабели USB-C отличаются по скорости в 80 раз

Публикации