leetcode 3531

3531: 统计被覆盖的建筑

如果一个点不在同一行的最左边也不在最右边,那么这个点左右都有点;如果一个点不在同一列的最上边也不在最下边,那么这个点上下都有点。

思路:

记录同一行的最小横坐标和最大横坐标,同一列的最小纵坐标和最大纵坐标。

对于每个建筑 (x,y),如果 x 在这一行的最小值和最大值之间(不能相等),y 在这一列的最小值和最大值之间(不能相等),那么答案加一。

复制代码
class Solution {
public:
    int countCoveredBuildings(int n, vector<vector<int>>& buildings) {
        int ans=0;
        vector<int> row_min(n+1,INT_MAX),row_max(n+1);
        vector<int> col_min(n+1,INT_MAX),col_max(n+1);
        for(auto& p :buildings){
            int x=p[0],y=p[1];
            row_min[y]=min(row_min[y],x);
            row_max[y]=max(row_max[y],x);
            col_min[x]=min(col_min[x],y);
            col_max[x]=max(col_max[x],y);
        }
        for(auto& p :buildings){
            int x=p[0],y=p[1];
            if(x>row_min[y] && x<row_max[y] && y>col_min[x] && y<col_max[x]){
                ans++;
            }
        }

        return ans;
    }
};
相关推荐
疯狂打码的少年13 小时前
【数据结构】图的存储结构:邻接矩阵与邻接表
数据结构·笔记
203号居民14 小时前
LeetCode hot 100 —41. 缺失的第一个正数
数据结构·算法·leetcode
专注仿真16 小时前
问答大模型技术方案算法实现-熵权法融合算法 + 交叉编码器重排算法
人工智能·python·算法·语言模型·问答大模型关键算法·熵权融合算法·交叉编码器重排算法
地平线开发者17 小时前
量化为什么会有损失:从量化误差到精度下降
算法
手写码匠17 小时前
华为云Flexus+DeepSeek征文|Dify 多 Agent 会话管理与上下文工程实战:让智能体“记住该记住的,忘掉该忘掉的“
人工智能·深度学习·算法·aigc
2401_8628808217 小时前
数据结构 --- 栈
c语言·数据结构·算法
致Great18 小时前
Qwen3.8-27B 接入 DSH 全流程实测:写代码、跑长任务,都没问题
算法
Tisfy18 小时前
LeetCode 3471.找出最大的几近缺失整数:三种情况判断
算法·leetcode·题解·分类讨论
linux-hzh19 小时前
百日算法修炼 · Day 12
算法·深度优先
额额额对了19 小时前
数据结构:二叉树
c语言·数据结构·算法