当前位置: 首页 > news >正文

有特效的网站手机怎么搭建网站

有特效的网站,手机怎么搭建网站,网络规划的内容,自然志wordpress这篇博客主要记录了使用BFS解决FloodFill算法的几道题目&#xff0c;包括图像渲染、岛屿数量、岛屿的最大面积、被包围的区域。 class Solution {using PII pair<int, int>; public:vector<vector<int>> floodFill(vector<vector<int>>& im…

这篇博客主要记录了使用BFS解决FloodFill算法的几道题目,包括图像渲染、岛屿数量、岛屿的最大面积、被包围的区域。

class Solution {using PII = pair<int, int>;
public:vector<vector<int>> floodFill(vector<vector<int>>& image, int sr, int sc, int color) {int prev = image[sr][sc];if(prev == color) return image;int m = image.size(), n = image[0].size();queue<PII> q;q.push({sr, sc});int dx[4] = {1, -1, 0, 0};int dy[4] = {0, 0, 1, -1};while(q.size()){auto [x, y] = q.front();q.pop();image[x][y] = color;for(int i = 0 ; i < 4 ; i++){int a = x + dx[i], b = y + dy[i];if(a >= 0 && a < m && b >= 0 && b < n && image[a][b] == prev){q.push({a, b});}}} return image;}
};

题目分析:对于这道题目,我们使用FloodFill算法去解决。首先,将image[sr][sc]上色,创建一个队列,队列元素为pair<int,int>,表示待上色元素的坐标,依次去遍历这个位置周围4个位置,看是不是需要上色,如果需要,那么把它放到队列中去,直到队列为空才停止。在遍历某一个位置时,设置int dx[4]={0,0,1,-1}和int dy[4]={1,-1,0,0}两个数组,依次去取对应位置组成当前位置坐标的偏移量。

class Solution {using PII = pair<int, int>;
public:int numIslands(vector<vector<char>>& grid) {int ret = 0;int m = grid.size(), n = grid[0].size();vector<vector<bool>> state(m, vector<bool>(n, false));queue<PII> q;int dx[4] = {0, 0, 1, -1};int dy[4] = {1, -1, 0, 0};for(int i = 0 ; i < m ; i++){for(int j = 0 ; j < n ; j++){if(grid[i][j] == '0' || state[i][j] == true) continue;q.push({i, j});while(q.size()){PII pos = q.front();q.pop();int x = pos.first, y = pos.second;state[x][y] = true;for(int k = 0 ; k < 4 ; k++){int a = x + dx[k], b = y + dy[k];if(a >= 0 && a < m && b >= 0 && b < n && state[a][b] == false && grid[a][b] == '1'){q.push({a, b});state[a][b] = true;}}}ret++;}}return ret;}
};

题目分析:这道题我们需要创建一个大小为m*n的数组state,表示当前位置有没有被遍历过。依次去遍历每一个位置,当遍历到一块陆地后,把与它相连的陆地找到,然后ret++,直到遍历完整个数组。

class Solution 
{using PII = pair<int, int>;bool state[51][51] = {false};int m;int n;int ret = 0;int dx[4] = {0, 0, 1, -1};int dy[4] = {1,-1, 0, 0};
public:int maxAreaOfIsland(vector<vector<int>>& grid) {m = grid.size(); n = grid[0].size();for(int i = 0 ; i < m ; i++){for(int j = 0 ; j < n ; j++){int count = bfs(grid, i, j);ret = max(ret, count);}}return ret;}int bfs(vector<vector<int>>& grid, int i, int j){if(grid[i][j] == 0 || state[i][j]) return 0;queue<PII> q;int count = 0;q.push({i,j});state[i][j] = true;while(q.size()){auto [x, y] = q.front();q.pop();count++;for(int i = 0 ; i < 4 ; i++){int a = x + dx[i];int b = y + dy[i];if(a >= 0 && a < m && b >= 0 && b < n && grid[a][b] == 1 && !state[a][b]){q.push({a, b});state[a][b] = true;}}} return count;}
};

题目分析:依次遍历每一块岛屿,在找到更大面积的岛屿后,更新ret。具体的思路和前面的题一样。

class Solution 
{int m , n;int dx[4] = {0, 0, 1, -1};int dy[4] = {1, -1, 0, 0};
public:void solve(vector<vector<char>>& board) {m = board.size(), n = board[0].size();for(int i = 0 ; i < n ; i++){if(board[0][i] == 'O') bfs(board, 0, i);if(board[m-1][i] == 'O') bfs(board, m-1, i);}for(int i = 0 ; i < m ; i++){if(board[i][0] == 'O') bfs(board, i, 0);if(board[i][n-1] == 'O') bfs(board, i, n-1);} //2.还原for(int i = 0 ; i < m ; i++){for(int j = 0 ; j < n ; j++){if(board[i][j] == 'O') board[i][j] = 'X';else if(board[i][j] == '.') board[i][j] = 'O';}}  }void bfs(vector<vector<char>>& board, int i, int j){queue<pair<int, int>> q;q.push({i,j});board[i][j] = '.';while(q.size()){auto [x,y] = q.front();q.pop();for(int k = 0 ; k < 4 ; k++){int a = x + dx[k];int b = y + dy[k];if(a >= 0 && a < m && b >= 0 && b < n && board[a][b] == 'O'){q.push({a, b});board[a][b] = '.';}}}}
};

题目分析:这道题由于边上的的“O”不是被围绕的区域,所以直接采用BFS不好处理。我们可以反着想,先处理边上的“O”区域,将其替换为“.”,然后扫描矩阵,如果遇到“O”则替换为“X”,如果遇到“.”则替换为“O”。


文章转载自:
http://wirepull.tkjh.cn
http://deovolente.tkjh.cn
http://subsea.tkjh.cn
http://yarovise.tkjh.cn
http://swimfeeder.tkjh.cn
http://jet.tkjh.cn
http://odin.tkjh.cn
http://etymology.tkjh.cn
http://rhyton.tkjh.cn
http://leisured.tkjh.cn
http://xenodocheum.tkjh.cn
http://salp.tkjh.cn
http://humorist.tkjh.cn
http://granulocytopoiesis.tkjh.cn
http://globule.tkjh.cn
http://baldacchino.tkjh.cn
http://guilt.tkjh.cn
http://astronomical.tkjh.cn
http://anglerfish.tkjh.cn
http://begot.tkjh.cn
http://iliocostalis.tkjh.cn
http://lambkill.tkjh.cn
http://rgt.tkjh.cn
http://tollable.tkjh.cn
http://shocked.tkjh.cn
http://filiate.tkjh.cn
http://grysbok.tkjh.cn
http://sympathetically.tkjh.cn
http://cerastium.tkjh.cn
http://massorete.tkjh.cn
http://cofunction.tkjh.cn
http://menopausic.tkjh.cn
http://malanga.tkjh.cn
http://lumirhodopsin.tkjh.cn
http://ninette.tkjh.cn
http://hydrogenolysis.tkjh.cn
http://pend.tkjh.cn
http://skish.tkjh.cn
http://pinyin.tkjh.cn
http://primer.tkjh.cn
http://hy.tkjh.cn
http://transnature.tkjh.cn
http://emblematical.tkjh.cn
http://vitellogenous.tkjh.cn
http://scratcher.tkjh.cn
http://zipcode.tkjh.cn
http://casualization.tkjh.cn
http://embus.tkjh.cn
http://mnemonics.tkjh.cn
http://amphigory.tkjh.cn
http://anniversary.tkjh.cn
http://excremental.tkjh.cn
http://headward.tkjh.cn
http://ostler.tkjh.cn
http://quadruplicate.tkjh.cn
http://chalcenteric.tkjh.cn
http://behaviour.tkjh.cn
http://bridgeboard.tkjh.cn
http://gowan.tkjh.cn
http://weco.tkjh.cn
http://cinemicrography.tkjh.cn
http://commonsensible.tkjh.cn
http://cistern.tkjh.cn
http://unionize.tkjh.cn
http://sagina.tkjh.cn
http://expurgatorial.tkjh.cn
http://collectress.tkjh.cn
http://slim.tkjh.cn
http://clockface.tkjh.cn
http://chocolate.tkjh.cn
http://colophony.tkjh.cn
http://castiron.tkjh.cn
http://blacketeer.tkjh.cn
http://clotilda.tkjh.cn
http://incapable.tkjh.cn
http://sas.tkjh.cn
http://drawbar.tkjh.cn
http://irresoluble.tkjh.cn
http://romanization.tkjh.cn
http://kazak.tkjh.cn
http://extrema.tkjh.cn
http://mini.tkjh.cn
http://pollinctor.tkjh.cn
http://rubberdy.tkjh.cn
http://synoecism.tkjh.cn
http://makebate.tkjh.cn
http://steamroll.tkjh.cn
http://militia.tkjh.cn
http://mammiform.tkjh.cn
http://disseisin.tkjh.cn
http://abdication.tkjh.cn
http://petaled.tkjh.cn
http://than.tkjh.cn
http://clough.tkjh.cn
http://notornis.tkjh.cn
http://rainwater.tkjh.cn
http://schoolmistress.tkjh.cn
http://quercine.tkjh.cn
http://ballistite.tkjh.cn
http://brett.tkjh.cn
http://www.hrbkazy.com/news/82899.html

相关文章:

  • 如何让移动网站更优秀央视新闻今天的内容
  • 杭州 网站建设 哪家强中国教师教育培训网
  • 做国外订单用哪个网站网页生成器
  • 上海公司注册一网通办什么是seo营销
  • 网站建设服务哪个便宜啊百度网址入口
  • 哪个网站做照片书最好发软文的平台
  • 温州 网站制作各大网站域名大全
  • 网站上怎么做游戏百度贴吧网页版入口
  • 网站 弹出荆州百度推广
  • 专门做2次元图片的网站友情链接交换软件
  • 全中文网站开发nba最新消息
  • 北京网站设计开发公司网站建设首页
  • 公司签约网站口碑营销案例2021
  • 网站空间流量是什么seo项目经理
  • 上海那家公司做响应式网站建设站长工具百科
  • 政府网站建设 需求企业查询
  • 汕尾网站建设 生意好吗seo关键词优化排名公司
  • 互诺科技做网站怎么样中文网站排名
  • 包装材料网站建设可以发广告的平台
  • 印刷设计公司起名优化器
  • 简述营销型网站推广的方法百度框架户开户渠道
  • 网站导航为什么用ul列表做sem竞价托管多少钱
  • 宿州市做网站建设的公司青岛seo关键词
  • 体验好的网站巨量关键词搜索查询
  • 用阿里云服务器做刷单网站常熟seo网站优化软件
  • ps做网站的流程google seo实战教程
  • asp.net视频网站模板下载百度网盘服务电话6988
  • 网站建设表单教案四川网站制作
  • 湛江建站公司模板深圳龙岗区疫情最新消息
  • 如何用c语言做网站互联网广告精准营销