2025-12-11 14:20:50 +0300 MSK
Count Covered Buildings
Links
Code
class Solution:
def countCoveredBuildings(self, n: int, buildings: List[List[int]]) -> int:
max_row = [0] * (n + 1)
min_row = [n + 1] * (n + 1)
max_col = [0] * (n + 1)
min_col = [n + 1] * (n + 1)
for p in buildings:
x, y = p[0], p[1]
max_row[y] = max(max_row[y], x)
min_row[y] = min(min_row[y], x)
max_col[x] = max(max_col[x], y)
min_col[x] = min(min_col[x], y)
res = 0
for p in buildings:
x, y = p[0], p[1]
if (
x > min_row[y]
and x < max_row[y]
and y > min_col[x]
and y < max_col[x]
):
res += 1
return res