| 12345678910111213141516171819202122232425 |
- package L12
- import "math"
- func countCoveredBuildings(n int, buildings [][]int) int {
- ans, minX, maxX, minY, maxY := 0, make([]int, n+1), make([]int, n+1), make([]int, n+1), make([]int, n+1)
- for i := range minX {
- minX[i], minY[i], maxX[i], maxY[i] = math.MaxInt, math.MaxInt, math.MinInt, math.MinInt
- }
- for _, building := range buildings {
- x := building[0]
- y := building[1]
- minX[y], maxX[y], minY[x], maxY[x] = min(minX[y], x), max(maxX[y], x), min(minY[x], y), max(maxY[x], y)
- }
- for _, building := range buildings {
- x := building[0]
- y := building[1]
- if x < maxX[y] && x > minX[y] && y < maxY[x] && y > minY[x] {
- ans++
- }
- }
- return ans
- }
|