肌肤的终极秘密:日本“猛!猛!猛!”护肤品的颠覆性力量

核心内容摘要

探索S8SP加密隐藏线路:安全、私密、畅游数字世界的终极指南
探索数字时代的无限可能:www.91av的文化现象与娱乐密码

饼干学姐的圣诞魔法:不止是甜点,更是温暖与回忆的邀约

题目描述

算法原理思路使用 BFS 算法先处理边界 1 再使用 BFS 统计陆地体现正难则反的思想例如1创建一个二维数组来专门标记是否入过队列或者说遍历过2使用 BFS 算法标记边界为 1 的情况3此时整个只有中间被0围起来的1为陆地

代码实现class Solution { int dx[4] {1,-1,0,0}; int dy[4] {0,0,-1,1}; typedef pairint,int PII; int n,m; public: int numEnclaves(vectorvectorint grid) { n grid.size(); m grid[0].size(); vectorvectorbool vis(grid.size(),vectorbool(grid[0].size(),false));//标记遍历过的数组 for(int i 0; i m; i)//处理边界1 { Bfs(0,i,grid,vis); Bfs(n - 1,i,grid,vis); } for(int i 0; i n; i)//处理边界1 { Bfs(i,0,grid,vis); Bfs(i,m - 1,grid,vis); } int ret 0; for(int i 0; i n; i)//此时中间的 1 就是陆地 { for(int j 0; j m; j) { if(vis[i][j] false grid[i][j]) { ret Bfs(i,j,grid,vis); } } } return ret; } int Bfs(int i,int j,vectorvectorint grid,vectorvectorbool vis)//BFS 算法 { if(grid[i][j] ! 1 || vis[i][j] ! false) return 0; queuePII que; que.push({i,j}); vis[i][j] true; int count 1; while(que.size()) { auto [x,y] que.front(); que.pop(); for(int v 0; v 4; v) { int a x dx[v]; int b y dy[v]; if(a 0 a n b 0 b m vis[a][b] false grid[a][b]

{ vis[a][b] true; que.push({a,b}); count; } } } return count; } };

站长统计app官网下载入口-站长统计app官网下载入口应用

百度百家号客服电话人工服务

123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123