leetcode223矩形面积

leetcode 223 Rectangle Area

Posted by BY on September 6, 2020

前言

持续更新了

正文

问题来源

本问题来自leetcode上的223题。

问题描述

在二维平面上计算出两个由直线构成的矩形重叠后形成的总面积。
每个矩形由其左下顶点和右上顶点坐标表示。

示例 1:

Input: A = -3, B = 0, C = 3, D = 4, E = 0, F = -1, G = 9, H = 2
Output: 45

分析:

class Solution {
    public int computeArea(int A, int B, int C, int D, int E, int F, int G, int H) {
        int area = (D - B) * (C - A) + (G - E) * (H - F); // 总面积
 
		int left = Math.max(A, E);
		int down = Math.max(B, F);
 
		int right = Math.min(G, C);
		int up = Math.min(D, H);
 
		if (up <= down || right <= left) {
			return area;
		}
 
		area = area - (right - left) * (up - down);
 
		return area;
    }
}

总结:

勤思考。

结语

不管怎么样好好加油。