- 计算重叠面积
重叠面积计算方法如下:重叠部分如果有的话肯定是一个矩形,这个矩形的左边界是两个矩形的左边界取较大值,右边界是两个矩形的右边界取较小值。上下边界同理。这样可以计算出重叠部分的面积,返回结果为总面积减去重叠部分面积即可。
class Solution {
public int computeArea(int ax1, int ay1, int ax2, int ay2, int bx1, int by1, int bx2, int by2) {
int minx = Math.max(ax1, bx1), maxx = Math.min(ax2, bx2), miny = Math.max(ay1, by1), maxy = Math.min(ay2, by2);
int cover = minx < maxx && miny < maxy ? (maxx-minx)*(maxy-miny) : 0;
return (ax2-ax1)*(ay2-ay1)+(bx2-bx1)*(by2-by1)-cover;
}
}
标签:重叠,leetcode223,int,面积,矩形,Math,边界
From: https://www.cnblogs.com/xzh-yyds/p/16625540.html