223. Rectangle Area

Posted skillking

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了223. Rectangle Area相关的知识,希望对你有一定的参考价值。

一、题目

  1、审题

  技术分享图片

  2、分析

    给出二维空间中两个矩形的坐标,求这两个矩阵的总面积。(注意重叠部分)

 

二、解答

  1、思路

    首先计算两个矩阵s1, s2 的面积,在计算重叠部分的面积。

    重叠部分,可能是 s1 与 s2 的包含关系,或者部分包含、或者矩阵 s1 为一个点。

 1     public int computeArea(int A, int B, int C, int D, int E, int F, int G, int H) {
 2         
 3         int areaOfSqrA = (C-A) * (D-B);
 4         int areaOfSqrB = (G-E) * (H-F);
 5        
 6         int left = Math.max(A, E);
 7         int right = Math.min(G, C);
 8         int bottom = Math.max(F, B);
 9         int top = Math.min(D, H);
10        
11         //If overlap
12         int overlap = 0;
13         if(right > left && top > bottom)
14             overlap = (right - left) * (top - bottom);
15        
16         return areaOfSqrA + areaOfSqrB - overlap;
17     }

 

以上是关于223. Rectangle Area的主要内容,如果未能解决你的问题,请参考以下文章

223. Rectangle Area

leetcode 223: Rectangle Area

223. Rectangle Area

223. Rectangle Area

LeetCode 223. 矩形面积(Rectangle Area)

LeetCode223. Rectangle Area 解题小结