这道题我刚开始在想枚举重叠的可能情况,后来发现太多了,于是我想着枚举不可能的情况,果然思路更简单了。
public boolean isRectangleOverlap(int[] rec1, int[] rec2) {
int x1 = rec1[0];
int y1 = rec1[1];
int x2 = rec1[2];
int y2 = rec1[3];
int i1 = rec2[0];
int i2 = rec2[1];
int i3 = rec2[2];
int i4 = rec2[3];
if (x2 <= i1) return false;
if (x1 >= i3) return false;
if (y1 >= i4) return false;
if (y2 <= i2) return false;
return true;
}