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.
題目解答:本題是要求出兩個矩陣在二維空間中所占的面積。做法是,求出兩個矩陣的面積,再減去他們的交集。
代碼如下:
class Solution {
public:
??? int computeArea(int A, int B, int C, int D, int E, int F, int G, int H) {
??????? if( (A > C) || (B > D) || (E > G) || (F > H) )
??????? {
??????????? return 0;
??????? }
??????? int a = (C - A) * (D - B);
??????? int b = (G - E) * (H - F);
???????
??????? int intersection = 0;
??????? int A_ = max(A,E);
??????? int B_ = max(B,F);
??????? int C_ = min(C,G);
??????? int D_ = min(D,H);
??????? if((A_ < C_) && (B_ < D_))
??????? {
??????????? intersection = (C_ - A_) * (D_ - B_);
??????? }
??????? return a + b - intersection;
??? }
};
轉載于:https://www.cnblogs.com/CodingGirl121/p/5442598.html
總結
以上是生活随笔為你收集整理的Leetcode题目:Rectangle Area的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: iOS-设计模式-观察者模式-KVO
- 下一篇: 会议07