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.

leetcode 223. Rectangle Area  计算面积---------- java

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 area = (C - A) * (D - B) + (G - E) * (H - F);
        
        if (B > H || F > D || A > G || C < E)
            return area;
        int x1 = Math.max(A, E);
        int y1 = Math.max(B, F);
        int x2 = Math.min(C, G);
        int y2 = Math.min(D, H);
        int result = (x2 - x1) * (y2 - y1);
        if (result > 0){
            return area - result;
        } else {
            return area + result;
        }
    }
}

 

 

 

相关文章:

  • 2022-01-09
  • 2021-08-17
  • 2021-12-29
  • 2022-01-09
  • 2022-12-23
  • 2021-03-30
猜你喜欢
  • 2021-07-20
  • 2021-10-20
  • 2021-11-13
  • 2021-12-22
  • 2021-09-23
  • 2021-11-27
  • 2022-01-21
相关资源
相似解决方案