LeetCode答題記錄223. 矩形面積

在二維平面上計算出兩個由直線構(gòu)成的矩形重疊后形成的總面積。
每個矩形由其左下頂點和右上頂點坐標(biāo)表示,如圖所示。


image

示例:
輸入: -3, 0, 3, 4, 0, -1, 9, 2 輸出: 45
說明: 假設(shè)矩形面積不會超出 int 的范圍。

本題過于簡單,不予解釋

func computeArea(_ A: Int, _ B: Int, _ C: Int, _ D: Int, _ E: Int, _ F: Int, _ G: Int, _ H: Int) -> Int {
    let totalSquar = (D-B)*(C-A) + (H-F)*(G-E)
    // A < C; E < G; B < D; F < H
    if H < B || F > D || G < A || C < E {
        return totalSquar
    }
    var x1 = 0, x2 = 0, y1 = 0, y2 = 0
    if H > D {
        y1 = D
    }else {
        y1 = H
    }
    if B < F {
        y2 = F
    }else {
        y2 = B
    }
    let y = abs(y1-y2)
    if E < A {
        x1 = A
    }else {
        x1 = E
    }
    if C < G {
        x2 = C
    }else {
        x2 = G
    }
    let x = abs(x1-x2)
    return totalSquar - x*y
}
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容