У меня есть массив объектов (Линии) и бинарная операция (пересечение), которая возвращает истину / ложь. Грубая сила состоит в том, чтобы продублировать массив, запущенный для вложенного для l oop.
for (Line line : linesArray) {
for (int j = 0; j < linesArray.length; j++) {
if (line.isIntersecting(linesArray[j])) {
Point intersection = line.intersectionWith(linesArray[j]);
d.drawCircle(intersection.getXInt(), intersection.getYInt(), 3);
d.fillCircle(intersection.getXInt(), intersection.getYInt(), 3);
}
}
}
Но порядок там не имеет значения, поэтому я подумал о создании подмножеств размера 2 и проверял каждый подмножество, но сложное, оно не кажется лучше
Есть ли эффективный (время выполнения) для этого?