Обновить

Вопрос по 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

Microsoft представила WSL 3.0 с поддержкой запуска Linux-контейнеров в Windows

Microsoft представила подсистему Windows для Linux (Windows Subsystem for Linux - WSL) 3.0, позволяющую запускать Linux‑приложения в Windows. Новая ветка примечательна реализацией возможности для запуска Linux‑контейнеров в Windows и переходом на ядро Linux 6.18. Исходный код применяемых в WSL утилит командной строки, фоновых процессов для Linux‑окружений, графического стека wslg, сервисов для запуска контейнеров и виртуальной машины опубликован на GitHub под лицензией MIT. Версия WSL 2.0 вышла в сентябре 2023 года.

Microsoft представила WSL 3.0 с поддержкой запуска Linux-контейнеров в Windows

Публикации