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.
![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.
Credits:
Special thanks to @mithmatt for adding this problem, creating the above image and all test cases.
Subscribe to see which companies asked this question
1 public class Solution { 2 public int computeArea(int A, int B, int C, int D, int E, int F, int G, int H) { 3 int totalarea = (C-A)*(D-B) + (G-E)*(H-F); 4 if(A>G || D<F || C<E || B>H) 5 return totalarea; 6 int tmp = (Math.min(D,H) - Math.max(B,F)) * (Math.min(C,G) - Math.max(A,E)); 7 return totalarea - tmp; 8 } 9 }
判断两个矩形是否有交集,有交集的话,减去重叠的即可。没有交集的话,直接返回两个矩形的面积和。