• leetcode 223: Rectangle Area


    Rectangle Area

    Total Accepted: 2205 Total Submissions: 8138

    Find the total area covered by two rectilinear rectangles in a2D plane.

    Each rectangle is defined by its bottom left corner and top right corner as shown in the figure.

    Rectangle Area

    Assume that the total area is never beyond the maximum possible value of int.

    [思路]

    求出两个区域的面积, 然后减去overlapping的区域, 即为所求.

    [CODE]

    public class Solution {
        public int computeArea(int A, int B, int C, int D, int E, int F, int G, int H) {
            int area1 = (C-A) * (D-B);
            int area2 = (G-E) * (H-F);
            
            int overlapRegion = overlap(A, B, C, D, E, F, G, H);
            return area1 + area2 - overlapRegion;
        }
        
        private int overlap(int A, int B, int C, int D, int E, int F, int G, int H) {
            int h1 = Math.max(A, E);
            int h2 = Math.min(C, G);
            int h = h2 - h1;
            
            int v1 = Math.max(B, F);
            int v2 = Math.min(D, H);
            int v = v2 - v1;
            
            if(h<=0 || v<=0) return 0;
            else return h*v;
        }
    }


  • 相关阅读:
    如何写文件上传下载
    填充表格的模板代码
    ArcGIS Server 分布式注意事项
    在android上导入第三方jar包 报错:Could not find class
    @Override annotation 出错
    签到时间
    分页三条件查询
    上传图片
    分页
    二级联动
  • 原文地址:https://www.cnblogs.com/llguanli/p/8940717.html
Copyright © 2020-2023  润新知