出处http://www.thinksaas.cn/group/topic/395502/
Find the total area covered by two rectilinear rectangles in a2D plane.
Each rectangle is defined by its bottom left corner and top right corner as shown in the figure.
![Rectangle Area](https://leetcode.com/static/images/problemset/rectangle_area.png)
Assume that the total area is never beyond the maximum possible value of int.
public class Solution {
public int computeArea(int A, int B, int C, int D, int E, int F, int G, int H) {
int dup = 0;
if(C < E || G < A || D < F || H < B) dup = 0;//两个矩形无交集的情况
else {
int[] x = {A, C, E, G};
int[] y = {B, D, F, H};
Arrays.sort(x);//按照升序排列
Arrays.sort(y);
dup = (x[2] - x[1]) * (y[2] - y[1]);
}
return (C - A) * (D - B) + (G - E)*(H - F) - dup;
}
}
public class Solution {
public int computeArea(int A, int B, int C, int D, int E, int F, int G, int H) {
int dup=0;
if(C<E || D<F || G<A || H<B) ; //这儿写成空语句是可以的
else{
int[] x={A,E,C,G};
int[] y={B,D,F,H};
Arrays.sort(x);
Arrays.sort(y);
dup=(x[2]-x[1])*(y[2]-y[1]);
}
return ((C-A)*(D-B)+(G-E)*(H-F))-dup;
}
}