网站链接: element-ui dtcms
当前位置: 首页 > 技术博文  > 技术博文

leetcode-Algorithms-223|矩形面积

2021/6/10 12:06:06 人评论

原题 思路 两个矩形相加-阴影 代码 public class Solution_223 {public static void main(String[] args) {int ax1 -2, ay1 -2, ax2 2, ay2 2, bx1 -3, by1 -3, bx2 -4, by2 -4;System.out.println(computeArea(ax1, ay1, ax2, ay2, bx1, by1, bx2, by2));}public …

原题

在这里插入图片描述

思路

两个矩形相加-阴影

代码

public class Solution_223 {
    public static void main(String[] args) {
        int ax1 = -2, ay1 = -2, ax2 = 2, ay2 = 2, bx1 = -3, by1 = -3, bx2 = -4, by2 = -4;
        System.out.println(computeArea(ax1, ay1, ax2, ay2, bx1, by1, bx2, by2));
    }

    public static int computeArea(int ax1, int ay1, int ax2, int ay2, int bx1, int by1, int bx2, int by2) {

        int lenl = 0;
        int lenr = 0;
        int higt = 0;
        int higl = 0;
        int are = 0;
        if (bx1 > ax2 || bx2 < ax1 || by2 < ay1 || by1 > ay2) {

        } else {
            if (ax1 < bx1) {
                lenl = bx1;
            } else {
                lenl = ax1;
            }

            if (ax2 < bx2) {
                lenr = ax2;
            } else {
                lenr = bx2;
            }

            if (by2 < ay2) {
                higt = by2;
            } else {
                higt = ay2;
            }

            if (by1 < ay1) {
                higl = ay1;
            } else {
                higl = by1;
            }
            are = (Math.abs(lenl - lenr)) * (Math.abs(higt - higl));
        }
        int are1 = (Math.abs(ax1 - ax2)) * (Math.abs(ay1 - ay2));
        int are2 = Math.abs(bx1 - bx2) *(Math.abs(by1 - by2));
        return are1
                + are2
                - are;
    }
}

相关资讯

    暂无相关的数据...

共有条评论 网友评论

验证码: 看不清楚?