您的位置:首页 > 其它

Rectangle Area

2015-06-16 10:22 260 查看
Rectangle Area

问题:

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.

public class Solution {
public int computeArea(int A, int B, int C, int D, int E, int F, int G, int H) {
int oneArea = (C-A)*(D-B);
int twoArea = (G-E)*(H-F);
int left = Math.max(A, E);
int right = Math.min(C, G);
int down = Math.max(B, F);
int top = Math.min(D, H);
int intersect = 0;
if(left < right && down < top)
intersect = (right-left)*(top-down);
return oneArea + twoArea - intersect;
}
}


View Code
学习之处:

是看了别人的代码才想到了怎么做,因为之前自己的代码太挫了,必须通过各种if else才能得到两个矩形的关系,别人的方法是通过左边界,右边界,上边界,下边界确定了矩形的面试,值得学习。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: