• Rectangle Area

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.
Rectangle Area - 图1
Assume that the total area is never beyond the maximum possible value of int.
Solution:
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. long total = (C - A) * (D - B) + (G - E) * (H - F);
4. 5. long w = (long)Math.min(C, G) - (long)Math.max(A, E);
6. long h = (long)Math.min(D, H) - (long)Math.max(B, F);
7. 8. long common = (w < 0 || h < 0) ? 0 : w * h;
9. 10. return (int)(total - common);
11. }
12. }