在二維平面上計算出兩個由直線構(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
}