| 1234567891011121314151617181920212223242526272829 | 
							- func computeArea(A int, B int, C int, D int, E int, F int, G int, H int) int {
 
- 	return areaOf(A, B, C, D) + areaOf(E, F, G, H) - overlap(A, C, E, G)*overlap(B, D, F, H)
 
- }
 
- func overlap(a1, a2, b1, b2 int) int {
 
- 	l := a2 - a1 + b2 - b1 - (maxInt(a2, b2) - minInt(a1, b1))
 
- 	if l < 0 {
 
- 		return 0
 
- 	}
 
- 	return l
 
- }
 
- func areaOf(A, B, C, D int) int {
 
- 	return (C - A) * (D - B)
 
- }
 
- func maxInt(x, y int) int {
 
- 	if x < y {
 
- 		return y
 
- 	}
 
- 	return x
 
- }
 
- func minInt(x, y int) int {
 
- 	if x < y {
 
- 		return x
 
- 	}
 
- 	return y
 
- }
 
 
  |