题目:
Your mission is to calculate the area covered by a union of rectangles. The rectangles can have a non-empty intersection, which means that a simple sum of given rectangle areas doesn’t work. Every rectangle is represented as 4 integers. The first two integers are the coordinates of a left-top corner, and the next two - of a bottom right corner.
rectangles_union([
(6, 3, 8, 10),
(4, 8, 11, 10),
(16, 8, 19, 11)
]) == 33
链接:
https://py.checkio.org/en/mission/rectangles-union/
代码:
from typing import List, Tuple
def rectangles_union(recs: List[Tuple[int]]) -> int:
a = recs
x = []
for b in a:
for i in range(b[0], b[2]):
for j in range(b[1],b[3]):
x.append((i,j))
x =list(set(x))
return len(x)