leetcode 223: Rectangle Area
阿新 • • 發佈:2018-04-25
padding data view ota strong OS html PE lan
.
Rectangle Area
Total Accepted: 2205 Total Submissions: 8138Find the total area covered by two rectilinear rectangles in a2D plane.
Each rectangle is defined by its bottom left corner and top right corner as shown in the figure.
![技術分享圖片](https://leetcode.com/static/images/problemset/rectangle_area.png)
Assume that the total area is never beyond the maximum possible value of int
[思路]
求出兩個區域的面積, 然後減去overlapping的區域, 即為所求.
[CODE]
public class Solution { public int computeArea(int A, int B, int C, int D, int E, int F, int G, int H) { int area1 = (C-A) * (D-B); int area2 = (G-E) * (H-F); int overlapRegion = overlap(A, B, C, D, E, F, G, H); return area1 + area2 - overlapRegion; } private int overlap(int A, int B, int C, int D, int E, int F, int G, int H) { int h1 = Math.max(A, E); int h2 = Math.min(C, G); int h = h2 - h1; int v1 = Math.max(B, F); int v2 = Math.min(D, H); int v = v2 - v1; if(h<=0 || v<=0) return 0; else return h*v; } }
leetcode 223: Rectangle Area