图论第3天----第841题、第463题

图论第3天----第841题、第463题

文章目录

​ 又继续开始修行,把图论这块补上,估计要个5-6天时间。

一、第841题--钥匙和房间

​ 有向图的遍历。dfs遍历3部曲做,思路也较顺----访问过的,就直接返回;没访问过的,就设为true。注意,这里不需要回溯,因为不是找出一条路径来覆盖到所有的节点,而是能覆盖到就行,不要求一条路径来覆盖。

c++ 复制代码
class Solution {
public:
    void dfs(vector<vector<int>>& rooms, vector<bool>& visited, int x){
        if(visited[x]) return;
        visited[x] = true;
        for(int t : rooms[x]){
            dfs(rooms, visited, t);
        }
    }

    bool canVisitAllRooms(vector<vector<int>>& rooms) {
        vector<bool> visited(rooms.size(), false);
        dfs(rooms, visited, 0);
        for(int i=0; i<rooms.size(); i++){
            if(visited[i] == false) return false;
        }
        return true;
    }
};

二、第463题--岛屿的周长

​ 这个题跟dfs三部曲没关系,属于找规律。根据土地的数量、相邻地块的数量,获得最终的结果----num4 - count2;

c++ 复制代码
class Solution {
public:
    int islandPerimeter(vector<vector<int>>& grid) {
        int n = grid.size();
        int m = grid[0].size();
        int num=0;
        int count=0;
        for(int i=0; i<n; i++){
            for(int j=0; j<m; j++){
                if(grid[i][j] == 1){
                    num++;
                    if(i>0 && grid[i-1][j] == 1) count++;
                    if(j>0 && grid[i][j-1] == 1) count++;
                } 
            }
        }
        return num*4 - count*2;
    }
};
相关推荐
CoovallyAIHub2 小时前
Moonshine:比 Whisper 快 100 倍的端侧语音识别神器,Star 6.6K!
深度学习·算法·计算机视觉
CoovallyAIHub3 小时前
速度暴涨10倍、成本暴降6倍!Mercury 2用扩散取代自回归,重新定义LLM推理速度
深度学习·算法·计算机视觉
CoovallyAIHub3 小时前
实时视觉AI智能体框架来了!Vision Agents 狂揽7K Star,延迟低至30ms,YOLO+Gemini实时联动!
算法·架构·github
CoovallyAIHub3 小时前
开源:YOLO最强对手?D-FINE目标检测与实例分割框架深度解析
人工智能·算法·github
CoovallyAIHub4 小时前
OpenClaw:从“19万星标”到“行业封杀”,这只“赛博龙虾”究竟触动了谁的神经?
算法·架构·github
刀法如飞4 小时前
程序员必须知道的核心算法思想
算法·编程开发·算法思想
徐小夕5 小时前
pxcharts Ultra V2.3更新:多维表一键导出 PDF,渲染兼容性拉满!
vue.js·算法·github
CoovallyAIHub6 小时前
OpenClaw一脚踩碎传统CV?机器终于不再只是看世界
深度学习·算法·计算机视觉
CoovallyAIHub6 小时前
仅凭单目相机实现3D锥桶定位?UNet-RKNet破解自动驾驶锥桶检测难题
深度学习·算法·计算机视觉
zone77396 小时前
002:RAG 入门-LangChain 读取文本
后端·算法·面试