【LeetCode】223. 矩形面積 結題報告 (C++)
阿新 • • 發佈:2019-01-02
題目描述:
在二維平面上計算出兩個由直線構成的矩形重疊後形成的總面積。
每個矩形由其左下頂點和右上頂點座標表示,如圖所示。
Rectangle Area
示例:
輸入: -3, 0, 3, 4, 0, -1, 9, 2
輸出: 45
說明: 假設矩形面積不會超出 int 的範圍。
解題方案:
本題就是一道數學題,需要找到規律。自己找了半天,實在是太笨了。。
程式碼:
class Solution { public: int computeArea(int A, int B, int C, int D, int E, int F, int G, int H) { int left = max(A, E); int right = min(C, G); int up = min(D, H); int down = max(B, F); int repeat = 0; if(right > left && up > down) repeat = (right - left) * (up - down); return (C-A) * (D-B) + (G-E) * (H-F) - repeat; } };