首先介紹一種比較笨的方法:
排除法:排除了不重疊的不就是重疊了嘛。
不重疊就那麼四種情況在左邊/右邊/上邊/下邊(左下右上等其實是可以歸於左邊/上邊的某種情況的)
class Solution
{
public:
bool isRectangleOverlap(vector<int>& rec1, vector<int>& rec2)
{
int rec1_x_l=rec1[0];
int rec1_x_r=rec1[2];
int rec1_y_l=rec1[1];
int rec1_y_r=rec1[3];
int rec2_x_l=rec2[0];
int rec2_x_r=rec2[2];
int rec2_y_l=rec2[1];
int rec2_y_r=rec2[3];
if(rec1_x_l>=rec2_x_r||rec1_x_r<=rec2_x_l||rec1_y_l>=rec2_y_r||rec1_y_r<=rec2_y_l)
{
return false;
}
return true;
}
};