Problem: Find the total area covered by two rectilinear rectangles in a 2D plane.
class Solution { public: int computeArea(int A, int B, int C, int D, int E, int F, int G, int H) { int twoAreas = (C-A)*(D-B) + (G-E)*(H-F); //for common parts int lowx=max(A, E), hix=min(C, G), lowy=max(B, F), hiy=min(D, H); int commonArea = 0; if(lowx<hix && lowy<hiy) twoAreas -= (hix-lowx)*(hiy-lowy); return twoAreas; } };
No comments:
Post a Comment