本文主要是介绍[LeetCode] 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.
Assume that the total area is never beyond the maximum possible value of int.
解题思路
面积 = 总面积 - 重叠面积
实现代码
// Runtime: 2 ms
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) + (H - F) * (G - E);if (A >= G || B >= H || C <= E || D <= F){return area;}int top = min(D, H);int right = min(C, G);int bottom = max(B, F);int left = max(A, E);return area - (top - bottom) * (right - left);}
};
这篇关于[LeetCode] Rectangle Area的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!