/* * @LastEditTime: 2025-12-11 13:23:40 */ classSolution { public: intcountCoveredBuildings(int n, vector<vector<int>>& buildings){ n++; vector<int> xm(n, n), xM(n), ym(n, n), yM(n); for (vector<int>& building : buildings) { int x = building[0], y = building[1]; xm[x] = min(xm[x], y); xM[x] = max(xM[x], y); ym[y] = min(ym[y], x); yM[y] = max(yM[y], x); } int ans = 0; for (vector<int>& building : buildings) { int x = building[0], y = building[1]; ans += xm[x] < y && y < xM[x] && ym[y] < x && x < yM[y]; } return ans; } };
''' LastEditTime: 2025-12-11 13:27:34 ''' from typing importList
classSolution: defcountCoveredBuildings(self, n: int, buildings: List[List[int]]) -> int: n += 1 xm = [n] * n xM = [0] * n ym = [n] * n yM = [0] * n for x, y in buildings: xm[x] = min(xm[x], y) xM[x] = max(xM[x], y) ym[y] = min(ym[y], x) yM[y] = max(yM[y], x) ans = 0 for x, y in buildings: ans += xm[x] < y < xM[x] and ym[y] < x < yM[y] return ans
classSolution { publicintcountCoveredBuildings(int n, int[][] buildings) { n++; int[] xm = newint[n]; int[] xM = newint[n]; int[] ym = newint[n]; int[] yM = newint[n]; Arrays.fill(xm, n); Arrays.fill(ym, n);
for (int[] building : buildings) { intx= building[0], y = building[1]; xm[x] = Math.min(xm[x], y); xM[x] = Math.max(xM[x], y); ym[y] = Math.min(ym[y], x); yM[y] = Math.max(yM[y], x); }
intans=0; for (int[] building : buildings) { intx= building[0], y = building[1]; if (xm[x] < y && y < xM[x] && ym[y] < x && x < yM[y]) { ans++; } } return ans; } }