Java [Leetcode 223]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.

Java [Leetcode 223]Rectangle Area

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

解题思路:

几何题目。

代码如下:

public class Solution {
public int computeArea(int A, int B, int C, int D, int E, int F, int G, int H) {
int areaOfA = (C - A) * (D - B);
int areaOfB = (G - E) * (H - F); int left = Math.max(A, E);
int right = Math.min(C, G);
int top = Math.min(D, H);
int bottom = Math.max(B, F); int overlap = 0;
if(right > left && top > bottom)
overlap = (right - left) * (top - bottom);
return areaOfA + areaOfB - overlap;
}
}

  

上一篇:Java for LeetCode 223 Rectangle Area


下一篇:Java是如何实现平台无关性的