码迷,mamicode.com
首页 > 其他好文 > 详细

[LeetCode]223. Rectangle Area矩形面积

时间:2018-02-27 13:20:11      阅读:151      评论:0      收藏:0      [点我收藏+]

标签:put   col   叠加   leetcode   math   code   style   int   思路   

 /*
    像是一道数据分析题
    思路就是两个矩形面积之和减去叠加面积之和
     */
    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矩形面积

标签:put   col   叠加   leetcode   math   code   style   int   思路   

原文地址:https://www.cnblogs.com/stAr-1/p/8478229.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!