前言
持续更新了
正文
问题来源
本问题来自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;
}
}
总结:
勤思考。
结语
不管怎么样好好加油。