Was ist bei zwei inklusive ganzzahligen Bereichen [x1: x2] und [y1: y2], wobei x1 ≤ x2 und y1 ≤ y2, der effizienteste Weg, um zu testen, ob es eine Überlappung der beiden Bereiche gibt?
Eine einfache Implementierung lautet wie folgt:
bool testOverlap(int x1, int x2, int y1, int y2) {
return (x1 >= y1 && x1 <= y2) ||
(x2 >= y1 && x2 <= y2) ||
(y1 >= x1 && y1 <= x2) ||
(y2 >= x1 && y2 <= x2);
}
Ich gehe jedoch davon aus, dass es effizientere Möglichkeiten gibt, dies zu berechnen.
Welche Methode wäre im Hinblick auf die wenigsten Operationen am effizientesten?