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

公司两个网站如何都备案大连企业网站排名优化

公司两个网站如何都备案,大连企业网站排名优化,wordpress主题排名,如何加快网站收录给你一个由 1(陆地)和 0(水)组成的的二维网格,请你计算网格中岛屿的数量。 岛屿总是被水包围,并且每座岛屿只能由水平方向和/或竖直方向上相邻的陆地连接形成。 此外,你可以假设该网格的四条边均…

       给你一个由 '1'(陆地)和 '0'(水)组成的的二维网格,请你计算网格中岛屿的数量。

岛屿总是被水包围,并且每座岛屿只能由水平方向和/或竖直方向上相邻的陆地连接形成。

此外,你可以假设该网格的四条边均被水包围。

输入:grid = [["1","1","1","1","0"],["1","1","0","1","0"],["1","1","0","0","0"],["0","0","0","0","0"]
]
输出:1

这种题型一般都是按照dfs进行遍历查找,因为一个位置上有8种选择

 所以我们应该提前的声明两个数组,一个数组中放x坐标,一个数组放y坐标

 //设置方向  上右下左int[] xnum={-1,0,1,0};int[] ynum={0,1,0,-1};

我觉得这东西和扫雷是一个性质

       将雷区看做是水域,数字区看成是我们的陆地,以当前节点为中心,往周围漫射(一条路走到底),但是如果

 

       如果我们从A点到B点,如果不加限制的话,我们同样也能从B点到A点,这样就有可能能造成死循环,或者使得最后的效率变慢,所以我们可以采用两种方式

第一种方式:额外的维护一个visited数组,对访问过的地域进行标记

visited=new boolean[row][column];

第二种方式:将访问过的陆地给填充成海域,不需要其他额外的操作

grid[i][j]='0';

       如果还不理解题,还可以这样想,假如题目数组中1组成的是由纯净水的组成的管道,我们每次遍历一个地点就是相当于给这些管道中滴了一滴红墨水,红墨水随着水的流动性,不一会这条管道中的纯净水都会变成红颜色的水

//相当于滴红墨水,需要知道该地点的坐标
private void dfs(char[][] grid, int x, int y) {}
       //如果是碰到水域,则停止遍历if(grid[x][y]=='0'){return;}//是陆地且没有被访问过,进行访问,并以该地点为中心,漫射if(grid[x][y]=='1'&&!visited[x][y]){visited[x][y]=true;//对于漫射的8种选择for (int i = 0; i <4; i++) {int newx=x+xnum[i];int newy=y+ ynum[i];//越界情况直接继续,不需要执行if(newx<0||newx>=row||newy<0||newy>=column||visited[newx][newy]){continue;}dfs(grid,newx,newy);}

在判断是否是一个新的岛屿,肯定需要满足两个条件:1.是陆地   2.没有被访问过

               //开始连接的岛屿,第一个if(!visited[i][j]&&grid[i][j]=='1'){count++;}

碰到新的陆地后,再进行重复的操作

dfs(grid,i,j);

好了,这道题的原理已经讲完,希望对大家能对这道题有一个比较深刻的印象

源码如下:

 //设置方向  上右下左int[] xnum={-1,0,1,0};int[] ynum={0,1,0,-1};boolean[][] visited;int row;int column;public int numIslands(char[][] grid) {//对入参进行判断if(grid==null||grid.length==0||grid[0].length==0){return 0;}int count=0;//从每一个点都开始进行遍历row=grid.length;column=grid[0].length;visited=new boolean[row][column];for (int i = 0; i <row; i++) {for (int j = 0; j <column; j++) {//开始连接的岛屿,第一个if(!visited[i][j]&&grid[i][j]=='1'){count++;dfs(grid,i,j);}}}return count;}private void dfs(char[][] grid, int x, int y) {//如果是碰到水域,则停止遍历if(grid[x][y]=='0'){return;}if(grid[x][y]=='1'&&!visited[x][y]){visited[x][y]=true;for (int i = 0; i <4; i++) {int newx=x+xnum[i];int newy=y+ ynum[i];if(newx<0||newx>=row||newy<0||newy>=column||visited[newx][newy]){continue;}dfs(grid,newx,newy);}}}

http://www.yayakq.cn/news/693003/

相关文章:

  • 微网站是免费的吗wordpress 点赞分享
  • 网站备案和域名备案的区别创业小项目 个人创业电商
  • 汕头网站排名优化报价阜南县城乡建设局官方网站
  • 海沧建设局网站商城源代码
  • 网站seo服务设计公司画册设计哪家好
  • 南京鼓楼做网站的公司济南网站建设山东聚搜网力推
  • 网页制作与网站开发...深圳房地产网站设计
  • 企业网站模板是什么企业注册代理
  • 手机网站制作哪家好个人怎么开跨境电商店铺
  • 学做视频的网站有哪些内容烟花代码编程python
  • 建网站不花钱免费公司网站建设怎么协调内容与保密
  • 国外炫酷网站设计怎么做才能使网站ip增多
  • 在线观看视频的免费网站公司网站 自己是空间服务商 cms
  • 什么是交互式网站开发广告 网站举例
  • 南通市通州建设局网站郑州网站建设开发
  • 如何自定义wordpress登录手把手教你优化网站
  • 如何搭建高品质网站动漫制作专业专升本需要考高数吗
  • 黄江网站建设wordpress 什么意思
  • 部门网站的开发 意义安徽省城乡和建设厅网站
  • 建设一个网站需要用到几个语言辉县网站建设
  • phpcms v9网站地图做面包国外网站
  • 企业内部门户网站建设做网站的最终目的
  • 现在网站怎么备案企业网站建设解决方案报告论文
  • 整站排名优化公司安康网站制作
  • wordpress 留言给站长发邮件营销型外贸网站
  • 网站搭建服务南海营销网站建设
  • 女装商城网站建设织梦网站后台模板
  • 国内手机网站建设网页设计的三大基本技术
  • 网站导航栏分析wordpress页面还原
  • 鄞州区卖场设计网站建设修改wordpress评论