优选算法_图像渲染_floodfill算法_dfs_C++

张开发
2026/4/7 13:48:32 15 分钟阅读

分享文章

优选算法_图像渲染_floodfill算法_dfs_C++
一.题目解析将给定元素性质相同的连通域改成另一个性质算法解析:dfs二.代码编写class Solution { int dx[4]{0,0,-1,1}; int dy[4]{1,-1,0,0}; public: vectorvectorint floodFill(vectorvectorint image, int sr, int sc, int color) { int oldcolorimage[sr][sc];//将旧颜色储存起来,后续会修改 if(oldcolorcolor)return image; queuepairint,intq; int mimage.size(),nimage[0].size(); q.push({sr,sc}); while(!q.empty()) { auto [a,b]q.front(); q.pop(); image[a][b]color;//先把本位改成指定性质 for(int i0;i4;i)//再看上下左右 { int xadx[i],ybdy[i]; if( x0xm y0yn image[x][y]oldcolor)//上下左右都不能越界bfs { q.push({x,y}); } } } return image; } };需要对bfs比较熟悉,遍历是主要然后就是边遍历边改数据

更多文章