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

网站建设 数据分析中国十大搜索引擎排名最新

网站建设 数据分析,中国十大搜索引擎排名最新,厦门 微网站建设公司哪家好,网络开发部是做什么的孤岛系列有: 孤岛总面积求解(用了dfs、bfs两种方法)和沉没孤岛(这里只写了dfs一种) 简单解释一下: 题目中孤岛的定义是与边缘没有任何接触的(也就是不和二维数组的最外圈连接)&…

孤岛系列有:

孤岛总面积求解(用了dfs、bfs两种方法)和沉没孤岛(这里只写了dfs一种)

简单解释一下:

题目中孤岛的定义是与边缘没有任何接触的(也就是不和二维数组的最外圈连接),所以我们在这里求面积和沉没孤岛都是先把不是孤岛的剔除 ,然后剩下的就是孤岛,然后处理起来就简单多了,那么我们这里是怎么遍历不是孤岛的岛呢,很简单,与数组外圈的1相连的肯定就不是孤岛,所以我们直接从四个方向的边缘遍历将他们都处理掉。

其实都是dfs、bfs的模板题、基础题,都比较简单,这里贴出代码(太懒了,都写在了一个代码里...)

题目、题解链接:代码随想录

import java.util.LinkedList;
import java.util.Queue;
import java.util.Scanner;public class TheSquareOfIsolatedIsland {public static int ans=0;public static int[][] next={{1,0},{0,1},{-1,0},{0,-1}};//    dfs遍历计算孤岛面积public static void dfs(int[][] grid,int x,int y){grid[x][y]=0;ans++;for(int i=0;i<4;i++){int nextX=x+next[i][0];int nextY=y+next[i][1];if(nextX<0||nextX>=grid.length||nextY<0||nextY>=grid[0].length||grid[nextX][nextY]==0) continue;dfs(grid,nextX,nextY);}}//    bfs遍历计算孤岛面积public static void bfs(int[][] grid,int x,int y){Queue<int[]> queue=new LinkedList<>();queue.add(new int[] {x,y});grid[x][y]=0;ans++;while(!queue.isEmpty()){int[] theNext=queue.poll();int xx=theNext[0];int yy=theNext[1];for(int i=0;i<4;i++){int nextX=xx+next[i][0];int nextY=yy+next[i][1];if(nextX<0||nextX>=grid.length||nextY<0||nextY>=grid[0].length||grid[nextX][nextY]==0) continue;queue.add(new int[] {nextX,nextY});ans++;grid[nextX][nextY]=0;}}}//    沉没孤岛public static void dfs2(int[][] grid,int x,int y){grid[x][y]=-1;for(int i=0;i<4;i++){int nextX=x+next[i][0];int nextY=y+next[i][1];if(nextX<0||nextY<0||nextX>=grid.length||nextY>= grid[0].length) continue;if(grid[nextX][nextY]==0||grid[nextX][nextY]==-1) continue;dfs2(grid,nextX,nextY);}}public static void main(String[] args){Scanner scanner=new Scanner(System.in);int n=scanner.nextInt();int m=scanner.nextInt();int[][] grid=new int[n][m];for(int i=0;i<n;i++){for(int j=0;j<m;j++){grid[i][j]=scanner.nextInt();}}scanner.close();for(int i=0;i<n;i++){if(grid[i][0]==1) dfs2(grid,i,0);if(grid[i][m-1]==1) dfs2(grid,i,m-1);}for(int j=0;j<m;j++){if(grid[0][j]==1) dfs2(grid,0,j);if(grid[n-1][j]==1) dfs2(grid,n-1,j);}ans=0;
//        for(int i=0;i<n;i++){
//            for(int j=0;j<m;j++){
//                if(grid[i][j]==1) bfs(grid,i,j);
//            }
//        }System.out.println(ans);//        沉没孤岛输出操作for(int i=0;i<n;i++){for(int j=0;j<m;j++){if(grid[i][j]==1) grid[i][j]=1;if(grid[i][j]==-1) grid[i][j]=0;}}for(int i=0;i<n;i++){for(int j=0;j<m;j++){System.out.print(grid[i][j]+" ");}System.out.println();}}
}

http://www.wooajung.com/news/26688.html

相关文章:

  • 网站制作结算确认函网站制作定制
  • 潍坊快速建站模板铜仁搜狗推广
  • wordpress网站程序百度刷自己网站的关键词
  • 搜索引擎网站优化和推广方案百度的网站网址
  • 营销式网站关键词查询的分析网站
  • 自己做APP需要网站吗电商运营推广是做什么的
  • 网站推广做哪个比较好广西seo搜索引擎优化
  • 做网站都要多少钱商城系统开发
  • wordpress 做wikiseo工作
  • 佛山低价网站建设惠州百度seo排名
  • 沙井网站制作市场营销策划包括哪些内容
  • 新乡营销型网站建设营销方案怎么写模板
  • 注册公司每年需要缴纳什么费用百度seo排名如何提升
  • 影视网站怎么做原创电商网站如何避免客户信息泄露
  • 旅行社网站建设方案书seo是什么意思如何实现
  • 深圳网站建设工作百度推广登录官网
  • 小说网站风格企业门户网站模板
  • 网站主页面设计营销活动策划方案
  • 湛江网站建设制作价格外贸网站搭建推广
  • 网站开发总结标题宁波网络推广联系方式
  • php和ASP网站那个好外链代发公司
  • 有设计感的网站百度广告代理公司
  • 爱奇艺的网站是用什么做的网络营销公司怎么注册
  • 九江网站开发头条发布视频成功显示404
  • 手机如何做车载mp3下载网站长沙官网优化公司
  • 什么网站上做奥数题成人电脑速成培训班
  • 的建站公司最好的小说网站排名
  • 网站建设网络推广最低价格网站注册搜索引擎的目的是
  • 大连 网站制作百度关键词刷排名教程
  • 网络科技公司企业文化北京seo运营