leetcode 第223題 矩形面積(數學問題)

在二維平面上計算出兩個由直線構成的矩形重疊後形成的總面積。

每個矩形由其左下頂點和右上頂點座標表示,如圖所示。

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) {
        if(E>=C||B>=H||F>=D||A>=G) return (D-B)*(C-A)+(H-F)*(G-E);
        int h=Math.min(D,H)-Math.max(B,F);  //計算重複面積的高
        int l=Math.min(C,G)-Math.max(A,E);  //計算重複面積的寬
        return (D-B)*(C-A)+(H-F)*(G-E)-h*l;
    }
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章