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

223. Rectangle Area

时间:2018-11-05 17:26:24      阅读:115      评论:0      收藏:0      [点我收藏+]

标签:otto   二维空间   color   矩形   aof   一个   class   int   矩阵   

一、题目

  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

标签:otto   二维空间   color   矩形   aof   一个   class   int   矩阵   

原文地址:https://www.cnblogs.com/skillking/p/9909936.html

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