题目:Rectangle Area
Find the total area covered by two rectilinear rectangles in a 2D plane.
Each rectangle is defined by its bottom left corner and top right corner as shown in the figure.

Assume that the total area is never beyond the maximum possible value of int.
One: 重叠区域的计算,分别比较XY轴上各点的大小与重叠区域的关系。
public class Solution {
public int computeArea(int A, int B, int C, int D, int E, int F, int G, int H) {
int area1 = (C-A) * (D-B);
int area2 = (G-E) * (H-F);
int h1 = Math.max(A, E);
int h2 = Math.max(h1,Math.min(C, G));
int h = h2 - h1;
int v1 = Math.max(B, F);
int v2 =Math.max(v1,Math.min(D, H));
int v = v2 - v1;
int overlapRegion = h*v;
return area1 + area2 - overlapRegion;
}
}
矩形面积计算
353

被折叠的 条评论
为什么被折叠?



