223. 矩形面积
给出一个平面,给出两个矩形求总面积。(可能会重合)
考察数学逻辑,正常的数学计算是非常简单的。
class Solution {
/**
两个矩形的面积减去重合面积
*/
public int computeArea(int ax1, int ay1, int ax2, int ay2, int bx1, int by1, int bx2, int by2) {
//求出总面积。
int totalS= Math.abs(ax1-ax2)*Math.abs(ay1-ay2) +Math.abs(by1-by2)*Math.abs(bx1-bx2);
int m = Math.min(ay2,by2)-Math.max(ay1,by1);
int n = Math.min(ax2,bx2)-Math.max(bx1,ax1);
int overView = Math.max(0,m)*Math.max(0,n);
return totalS -overView;
//如何查找重合区域的面积?? 两条线求交集 ax与by bx与ay;
/**
(bx1,ay1)(ax2,by2)
通过画图发现 组合不一定为单一组合,所以以此为入手点,推到出规律
*/
}
}