1 2 3 4 5 6 7 8 9 10 11 12 13 14
| class Solution { public int computeArea(int ax1, int ay1, int ax2, int ay2, int bx1, int by1, int bx2, int by2) { int overlap; if (bx2 <= ax1 || bx1 >= ax2 || by2 <= ay1 || by1 >= ay2) { overlap = 0; } else { int x = Math.min(ax2, bx2) - Math.max(ax1, bx1); int y = Math.min(ay2, by2) - Math.max(ay1, by1); overlap = x * y; }
return (ay2 - ay1) * (ax2 - ax1) + (by2 - by1) * (bx2 - bx1) - overlap; } }
|