Advertisement

算法题目——区域(dfs,bfs)

阅读量:

leetcode.130被围绕的区域

在这里插入图片描述

DFS解法:
深度优先搜索策略:
核心思想:
在完成数据读取后,
1.首先对数据外围区域实施BFS算法(由于仅与外部相连的点才可能未被包围)
在算法运行过程中,通过递归方式检查当前点的上下左右四个方向是否为O,若存在O则将其标记为A
2.当外围处理完成后,将数据中所有未被标记的O替换为X,并将所有标记为A的点恢复为O,从而获得最终结果

复制代码
    #include<iostream>
    #include<algorithm>
    #include<vector>
    using namespace std;
    //定义为全局变量会剩很多事 
    char str[10000][10000];
    //深度优先遍历
    void bfs(int x,int y,int m,int n)
    {
    	if(x<0||x>m||y<0||y>n||str[x]

全部评论 (0)

还没有任何评论哟~