LeetCode : 223. Rectangle Area

原创 2016年08月30日 16:02:19

问题描述:

Find the total area covered by two rectilinear rectangles in a 2D 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.

分析:题目就是要求两个平面呢两个矩形的面积,包含矩形相交与相离的情况。

相离时很简单,就是两个矩形的面积之和,相交就是两个矩形面积之和减去出相交的面积。

所以,分以下步骤解决:

1.判断是否相交

2.求出相交矩形的面积。

弄清楚如何判断两个矩形是否相交以及相交矩形的左下角及右上角坐标即可

AC代码如下:

 int computeArea(int A, int B, int C, int D, int E, int F, int G, int H) 
    {
        if(!IsInsection( A, B, C, D, E, F, G, H))
            return (C-A)*(D-B)+(G-E)*(H-F);
        else
            return (C-A)*(D-B)+(G-E)*(H-F) - InsectionArea( A, B, C, D, E, F, G, H);
    }
    bool IsInsection(int A, int B, int C, int D, int E, int F, int G, int H)//判断两个矩形是否相交
    {
        if(D < F || C < E || H < B || G < A)
            return false;
        else
            return true;
    }
    int InsectionArea(int A, int B, int C, int D, int E, int F, int G, int H)//相交矩形的面积
    {
        int minx = max(A,E);
        int miny = max(B,F);
        int maxx = min(C,G);
        int maxy = min(D,H);
        return (maxx - minx)*(maxy - miny);
    }



版权声明:本文为博主原创文章,未经博主允许不得转载。

【LeetCode-面试算法经典-Java实现】【223-Rectangle Area(矩形区域)】

【223-Rectangle Area(矩形区域)】【LeetCode-面试算法经典-Java实现】【所有题目目录索引】代码下载【https://github.com/Wang-Jun-Chao】原题...
  • DERRANTCM
  • DERRANTCM
  • 2015年08月29日 06:39
  • 2625

LeetCode 223. Rectangle Area(两个矩形的复合面积计算)

原题网址:https://leetcode.com/problems/rectangle-area/ Find the total area covered by two rectilinear...
  • jmspan
  • jmspan
  • 2016年04月05日 00:48
  • 1075

关于LeetCode中Rectangle Area一题的理解

题目如下: Find the total area covered by two rectilinear rectangles in a 2D plane. Each rectangle i...
  • zsy112371
  • zsy112371
  • 2016年09月05日 21:13
  • 184

leetCode 85.Maximal Rectangle (最大矩阵) 解题思路和方法

Given a 2D binary matrix filled with 0's and 1's, find the largest rectangle containing all ones and...
  • xygy8860
  • xygy8860
  • 2015年07月22日 13:43
  • 980

博览网_C++_第三周_Rectangle类的初步实现(二)

喜欢的朋友可以关注收藏一下: http://blog.csdn.NET/qq_31201973 本文实现了一个Shape类型并且派生出Rectangle类和Circle类,本文和上周有相似的地方也有...
  • qq_31201973
  • qq_31201973
  • 2017年05月05日 01:25
  • 311

用Python和Pygame写游戏-从入门到精通(6)

本文转载自:http://eyehere.net/2011/python-pygame-novice-professional-6/ 掌握了小小的像素,我们可以使用更加复杂一点的东西...
  • wxfy2001
  • wxfy2001
  • 2015年06月01日 21:16
  • 321

223. Rectangle Area扩展--判断两矩形是否交叉(包括包含的情况)

问题:给定两个矩形A和B,矩形A的左上角坐标为(Xa1,Ya1),右下角坐标为(Xa2,Ya2),矩形B的左上角坐标为(Xb1,Yb1),右下角坐标为(Xb2,Yb2)。 (1)设计一个算法,确定两...
  • sjt091110317
  • sjt091110317
  • 2016年05月16日 09:31
  • 619

使用html area标签在图片上设置链接

一张图片的静态页!如果你不会切图做静态页,那么就用一张效果图来实现吧! 原理:在图片上设置链接的area标签,产生图片的局部点击事件效果~ 相当于效果图 效果图中需要被点击的区域集合   可点击...
  • aya19880214
  • aya19880214
  • 2015年05月27日 18:43
  • 3621

OSPF多区域中必须有area0。非area0区域要与area0相连才能实现传播域间路由信息

你好,假设多区OSPF中没有0区域,那么多区OSPF中将不会传播域间路由信息,详细说明如下:官方说明:在一个运行OSPF的AS(自治域)中,存在一个骨干区域(默认是area0),任何其他区域交换路由信...
  • zainwei1766
  • zainwei1766
  • 2014年11月16日 00:08
  • 4597

rectangle函数的使用

 本文转自:http://blog.csdn.net/chentravelling/article/details/44945303 在第一次使用cvRectangle绘制矩形的时候遇到一个问...
  • Sunshine_in_Moon
  • Sunshine_in_Moon
  • 2015年04月19日 21:50
  • 3679
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:LeetCode : 223. Rectangle Area
举报原因:
原因补充:

(最多只允许输入30个字)