223. Rectangle Area
比较巧妙的办法是先算互不cover的情况。。
然后讨论COVER情况就方便很多了。
public class Solution {
public int computeArea(int A, int B, int C, int D, int E, int F, int G, int H) {
int a = (C - A) * (D - B);
int b = (G - E) * (H - F);
if (B >= H || F >= D || C <= E || G <= A) return a + b;
int width = Math.min(C, G) - Math.max(A, E);
int height = Math.min(D, H) - Math.max(B, F);
return a + b - width * height;
}
}

浙公网安备 33010602011771号