Это вопрос : "Найти все коллинеарные точки в заданном наборе".
Как я понимаю, они просят распечатать точки, лежащие в одной и той же строке (и каждые две точки всегда коллинеарны). Я бы предложил следующее.
- Введем два типа
Line
(пара удвоений) иPoint
(пара целых чисел). - Создание мультимапа:
HashMap<Line, List<Point>)
- Петля по всем парам точек и для каждой пары: вычислите
Line
, соединяющую точки, и добавьте линию с этими точками в мультимап.
Наконец, мультимап содержит строки как ключи и список коллинеарных точек для каждой строки в качестве ее значения.
Сложность O (N ^ 2). Имеет ли это смысл? Есть ли лучшие решения?