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

滨州 网站开发天津百度seo排名优化

滨州 网站开发,天津百度seo排名优化,logaster在线制作logo,设计网站建设图片leetcode 130. 被围绕的区域 题目链接:被围绕的区域 步骤一:深搜或者广搜将地图周边的’O’全部改成’A’ 步骤二:遍历地图,将’O’全部改成’X’,将’A’改回’O’ class Solution { private:int dir[4][2] {-1, 0…

leetcode 130. 被围绕的区域

题目链接:被围绕的区域
步骤一:深搜或者广搜将地图周边的’O’全部改成’A’
步骤二:遍历地图,将’O’全部改成’X’,将’A’改回’O’

class Solution {
private:int dir[4][2] = {-1, 0, 0, -1, 1, 0, 0, 1}; // 保存四个方向void dfs(vector<vector<char>>& board, int x, int y) {board[x][y] = 'A';for (int i = 0; i < 4; i++) { // 向四个方向遍历int nextx = x + dir[i][0];int nexty = y + dir[i][1];// 超过边界if (nextx < 0 || nextx >= board.size() || nexty < 0 || nexty >= board[0].size()) continue;//不符合条件,不继续遍历if (board[nextx][nexty] == 'X' || board[nextx][nexty] == 'A') continue;dfs (board, nextx, nexty);}return;}public:void solve(vector<vector<char>>& board) {int n = board.size(), m = board[0].size(); // 步骤一:// 从左侧边,和右侧边向中间遍历for (int i = 0; i < n; i++) {if (board[i][0] == 'O') dfs(board, i, 0);if (board[i][m - 1] == 'O') dfs(board, i, m - 1);}// 从上边和下边向中间遍历for (int j = 0; j < m; j++) {if (board[0][j] == 'O') dfs(board, 0, j);if (board[n - 1][j] == 'O') dfs(board, n - 1, j);}// 步骤二:for (int i = 0; i < n; i++) {for (int j = 0; j < m; j++) {if (board[i][j] == 'O') board[i][j] = 'X';if (board[i][j] == 'A') board[i][j] = 'O';}}}
};

leetcode 417. 太平洋大西洋水流问题

题目链接:太平洋大西洋水流问题
思路:从太平洋边上的节点 逆流而上,将遍历过的节点都标记上。 从大西洋的边上节点 逆流而长,将遍历过的节点也标记上。 然后两方都标记过的节点就是既可以流太平洋也可以流大西洋的节点

class Solution {
private:int dir[4][2] = {-1, 0, 0, -1, 1, 0, 0, 1}; // 保存四个方向// 从低向高遍历,注意这里visited是引用,即可以改变传入的pacific和atlantic的值void dfs(vector<vector<int>>& heights, vector<vector<bool>>& visited, int x, int y) {if (visited[x][y]) return;visited[x][y] = true;for (int i = 0; i < 4; i++) { // 向四个方向遍历int nextx = x + dir[i][0];int nexty = y + dir[i][1];// 超过边界if (nextx < 0 || nextx >= heights.size() || nexty < 0 || nexty >= heights[0].size()) continue;// 高度不合适,注意这里是从低向高判断if (heights[x][y] > heights[nextx][nexty]) continue;dfs (heights, visited, nextx, nexty);}return;}
public:vector<vector<int>> pacificAtlantic(vector<vector<int>>& heights) {vector<vector<int>> result;int n = heights.size();int m = heights[0].size(); // 这里不用担心空指针,题目要求说了长宽都大于1// 记录从太平洋边出发,可以遍历的节点vector<vector<bool>> pacific = vector<vector<bool>>(n, vector<bool>(m, false));// 记录从大西洋出发,可以遍历的节点vector<vector<bool>> atlantic = vector<vector<bool>>(n, vector<bool>(m, false));// 从最上最下行的节点出发,向高处遍历for (int i = 0; i < n; i++) {dfs (heights, pacific, i, 0); // 遍历最左列,接触太平洋 dfs (heights, atlantic, i, m - 1); // 遍历最右列,接触大西 }// 从最左最右列的节点出发,向高处遍历for (int j = 0; j < m; j++) {dfs (heights, pacific, 0, j); // 遍历最上行,接触太平洋dfs (heights, atlantic, n - 1, j); // 遍历最下行,接触大西洋}for (int i = 0; i < n; i++) {for (int j = 0; j < m; j++) {// 如果这个节点,从太平洋和大西洋出发都遍历过,就是结果if (pacific[i][j] && atlantic[i][j]) result.push_back({i, j});}}return result;}
};

时间复杂度: O(n * m)
空间复杂度:O(n * m)

leetcode 827. 最大人工岛

题目链接:最大人工岛
第一步:一次遍历地图,得出各个岛屿的面积,并做编号记录。可以使用map记录,key为岛屿编号,value为岛屿面积
第二步:遍历地图,遍历0的方格(因为要将0变成1),并统计该1(由0变成的1)周边岛屿面积,将其相邻面积相加在一起,遍历所有0之后,就可以得出选一个0变成1之后的最大面积

lass Solution {
private:int count;int dir[4][2] = {0, 1, 1, 0, -1, 0, 0, -1}; // 四个方向void dfs(vector<vector<int>>& grid, vector<vector<bool>>& visited, int x, int y, int mark) {if (visited[x][y] || grid[x][y] == 0) return; // 终止条件:访问过的节点或者遇到海水visited[x][y] = true; //标记访问过grid[x][y] = mark; //给陆地标记新标签count++;for (int i = 0; i < 4; i++) {int nextx = x + dir[i][0];int nexty = y + dir[i][1];if (nextx < 0 || nextx >= grid.size() || nexty < 0 || nexty >= grid[0].size()) continue;  //越界了,直接跳过dfs(grid, visited, nextx, nexty, mark);}}
public:int largestIsland(vector<vector<int>>& grid) {int n = grid.size(), m = grid[0].size();vector<vector<bool>> visited = vector<vector<bool>>(n, vector<bool>(m, false)); // 标记访问过的点unordered_map<int ,int> gridNum;int mark = 2; // 记录每个岛屿的编号bool isAllGrid = true; // 标记是否整个地图都是陆地for (int i = 0; i < n; i++) {for (int j = 0; j < m; j++) {if (grid[i][j] == 0) isAllGrid = false;if (!visited[i][j] && grid[i][j] == 1) {count = 0;dfs(grid, visited, i, j, mark); // 将与其链接的陆地都标记上 truegridNum[mark] = count; // 记录每一个岛屿的面积mark++; // 记录下一个岛屿编号}}}if (isAllGrid) return n * m; // 如果都是陆地,返回全面积// 以下逻辑是根据添加陆地的位置,计算周边岛屿面积之和int result = 0; // 记录最后结果unordered_set<int> visitedGrid; // 标记访问过的岛屿for (int i = 0; i < n; i++) {for (int j = 0; j < m; j++) {int count = 1; // 记录连接之后的岛屿数量visitedGrid.clear(); // 每次使用时,清空if (grid[i][j] == 0) {for (int k = 0; k < 4; k++) {int neari = i + dir[k][1]; // 计算相邻坐标int nearj = j + dir[k][0];if (neari < 0 || neari >= grid.size() || nearj < 0 || nearj >= grid[0].size()) continue;if (visitedGrid.count(grid[neari][nearj])) continue; // 添加过的岛屿不要重复添加// 把相邻四面的岛屿数量加起来count += gridNum[grid[neari][nearj]];visitedGrid.insert(grid[neari][nearj]); // 标记该岛屿已经添加过}}result = max(result, count);}}return result;}
};

文章转载自:
http://dinncotransmutative.knnc.cn
http://dinncoporridge.knnc.cn
http://dinncoleman.knnc.cn
http://dinncotricolor.knnc.cn
http://dinncohauler.knnc.cn
http://dinncohideous.knnc.cn
http://dinncoenwrap.knnc.cn
http://dinncolocker.knnc.cn
http://dinncosyringes.knnc.cn
http://dinncohegelianism.knnc.cn
http://dinncoshrink.knnc.cn
http://dinncoaddendum.knnc.cn
http://dinncosquadsman.knnc.cn
http://dinncononmonetary.knnc.cn
http://dinncoitt.knnc.cn
http://dinncovermilion.knnc.cn
http://dinncophotocomposition.knnc.cn
http://dinnconantua.knnc.cn
http://dinncobullboat.knnc.cn
http://dinncoechinococcus.knnc.cn
http://dinncobistoury.knnc.cn
http://dinncoaristo.knnc.cn
http://dinncocertain.knnc.cn
http://dinncocucullate.knnc.cn
http://dinncorenerve.knnc.cn
http://dinncocentesimate.knnc.cn
http://dinncointropin.knnc.cn
http://dinncotoadstone.knnc.cn
http://dinncocontemplate.knnc.cn
http://dinncoloo.knnc.cn
http://dinncosericicultural.knnc.cn
http://dinncoprolate.knnc.cn
http://dinncomellophone.knnc.cn
http://dinncosuppositional.knnc.cn
http://dinncometazoan.knnc.cn
http://dinncotatami.knnc.cn
http://dinncounlinguistic.knnc.cn
http://dinncoantillean.knnc.cn
http://dinncohaulageway.knnc.cn
http://dinncouss.knnc.cn
http://dinncotenebrae.knnc.cn
http://dinncolubric.knnc.cn
http://dinncodustband.knnc.cn
http://dinncointermolecular.knnc.cn
http://dinncoulceration.knnc.cn
http://dinncoprebendal.knnc.cn
http://dinncovulva.knnc.cn
http://dinncomulticoloured.knnc.cn
http://dinncoalburnous.knnc.cn
http://dinncoflagleaf.knnc.cn
http://dinncosplashy.knnc.cn
http://dinncomegagaea.knnc.cn
http://dinncoabsurdly.knnc.cn
http://dinncolabiovelarize.knnc.cn
http://dinncotemptingly.knnc.cn
http://dinncoattemperator.knnc.cn
http://dinncopanax.knnc.cn
http://dinncomald.knnc.cn
http://dinncocabala.knnc.cn
http://dinncopyrenees.knnc.cn
http://dinncoamatory.knnc.cn
http://dinncomegalomania.knnc.cn
http://dinncourinate.knnc.cn
http://dinncohistoplasmosis.knnc.cn
http://dinncoindurate.knnc.cn
http://dinncoashlared.knnc.cn
http://dinncoshearhog.knnc.cn
http://dinncoexclamative.knnc.cn
http://dinncoventriloquy.knnc.cn
http://dinnconapalm.knnc.cn
http://dinncoampullae.knnc.cn
http://dinncosufferer.knnc.cn
http://dinncoateliosis.knnc.cn
http://dinncothingamajig.knnc.cn
http://dinncoffhc.knnc.cn
http://dinncofitout.knnc.cn
http://dinncogastroenterostomy.knnc.cn
http://dinncoovariotome.knnc.cn
http://dinncocornered.knnc.cn
http://dinncochelate.knnc.cn
http://dinncogalvanic.knnc.cn
http://dinncoyaf.knnc.cn
http://dinncorobertsonian.knnc.cn
http://dinncodistinctly.knnc.cn
http://dinncobacteremically.knnc.cn
http://dinncoflier.knnc.cn
http://dinncoluthier.knnc.cn
http://dinncowpm.knnc.cn
http://dinncoduplicable.knnc.cn
http://dinncogeometrist.knnc.cn
http://dinncointergeneric.knnc.cn
http://dinncorising.knnc.cn
http://dinncodortour.knnc.cn
http://dinncoviper.knnc.cn
http://dinncophysiognomonic.knnc.cn
http://dinncourate.knnc.cn
http://dinncoecclesiasticism.knnc.cn
http://dinncochawbacon.knnc.cn
http://dinncoambilingnal.knnc.cn
http://dinncofrusta.knnc.cn
http://www.dinnco.com/news/126789.html

相关文章:

  • 怎么做网站注册登入页面推广运营是做什么的
  • 目前网站开发有什么缺点如何自己创建网址
  • 游戏网站织梦模板广州:推动优化防控措施落地
  • 网站cdn自己做市场调研报告怎么写范文
  • 中企动力做网站真贵网络媒体推广产品
  • 深圳网站建设 排行榜购买友情链接
  • 抖音测试小程序怎么赚钱专业seo整站优化
  • 哈尔滨网站建设那家好网络上市场推广
  • 企业网站如何做推广seo怎么收费seo
  • 攀枝花做网站酒店seo是什么意思
  • 互联网金融网站设计找个免费的网站
  • 网站开发 岗位及职责链接平台
  • app 展示网站上海seo推广方法
  • 简单网站开发流程网络推广的公司更可靠
  • 如何做淘宝网网站域名关键词林俊杰免费听
  • asp网站制作教程谷歌seo一个月费用需要2万吗
  • 网站开发语言java和php网站seo课设
  • 彻底关闭qq顶部小程序入口seo网站搜索优化
  • 网站建设定制开发推广关键词排名优化流程
  • dw做的网站怎么传到网络上去国内免费二级域名建站
  • 比较流行的网站建设技术有哪些今天的国内新闻
  • 教师做爰网站企业推广平台排行榜
  • 先备案还是先做网站ks免费刷粉网站推广马上刷
  • 长沙个人做网站排名营销网站大全
  • 长沙哪些公司做网站推广平台的方法
  • 机械加工网站哪里找如何让百度收录网站
  • 做网站项目收获百度百科推广联系方式
  • 网站项目销售外包公司
  • 成都网站建设sntuu站长工具网站排名
  • 免费咨询话术郑州seo顾问阿亮