1. 程式人生 > >[LeetCode]223. Rectangle Area矩形面積

[LeetCode]223. Rectangle Area矩形面積

body post 一道 etc spa span 數據 max 溢出

 /*
    像是一道數據分析題
    思路就是兩個矩形面積之和減去疊加面積之和
     */
    public int computeArea(int A, int B, int C, int D, int E, int F, int G, int H) {
        //求兩個面積
        int a1 = (C-A)*(D-B);
        int a2 = (G-E)*(H-F);
        //求疊加面積,(低上限-高下限)*(左右線-右左線)
        int h1  = Math.min(D,H);
        int h2  = Math.max(B,F);
        
int w1 = Math.min(C,G); int w2 = Math.max(E,A); //這裏要考慮到沒有相交的情況 //同時這裏不能比較h1-h2和0的大小,因為如果負數太大會溢出,比0大 int o = (h1<=h2||w1<=w2)?0:(h1-h2)*(w1-w2); return a1+a2-o; }

[LeetCode]223. Rectangle Area矩形面積