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

如何购买网站空间企业网站模板设计

如何购买网站空间,企业网站模板设计,书籍网站开发多少钱,WordPress主题显示问题day02 图论part02 今日任务:岛屿数量,岛屿的最大面积 都是一个模子套出来的 https://programmercarl.com/kamacoder/0099.岛屿的数量深搜.html#思路往日任务: day01 图论part01 今日任务:图论理论基础/所有可到达的路径 代码随想录图论视频部分还没更新 https://programmercar…
day02 图论part02
今日任务:岛屿数量,岛屿的最大面积
都是一个模子套出来的
https://programmercarl.com/kamacoder/0099.岛屿的数量深搜.html#思路往日任务:
day01 图论part01 
今日任务:图论理论基础/所有可到达的路径
代码随想录图论视频部分还没更新
https://programmercarl.com/kamacoder/图论理论基础.html#图的基本概念

day02

岛屿数量

dfs

 import java.util.Scanner;​public class Main{public static int[][] dir ={{0,1},{1,0},{-1,0},{0,-1}};public static void main(String[] args){Scanner sc = new Scanner(System.in);int m = sc.nextInt();int n = sc.nextInt();int[][] grid = new int[m][n];for(int i = 0 ; i < m; i++){for(int j = 0; j < n; j++){grid[i][j] = sc.nextInt();}}boolean[][] visited = new boolean[m][n];int count = 0;for(int i = 0 ; i < m; i++){for(int j = 0; j < n; j++){if( visited[i][j] == false && grid[i][j] == 1){count++;visited[i][j] = true;//访问过了dfs(grid,i,j,visited);//一直找临近陆地直到找不到}}}System.out.println(count);}private static void dfs(int[][] grid,int x,int y,boolean[][] visited){for(int i = 0; i < 4; i++){//x += dir[i][0];//这里错了,x和y需要用四次,可是刚用一次值就改变了//y += dir[i][1];int x1 = x + dir[i][0];int y1 = y + dir[i][1];if(x1<0||y1<0||x1>= grid.length||y1>=grid[0].length)continue;//越界则继续判断下一个旁边的位置if(!visited[x1][y1] && grid[x1][y1]==1)//旁边是没遇到过的陆地{visited[x1][y1]=true;dfs(grid,x1,y1,visited);//继续找临近陆地}}}}

bfs

main方法一样,dfs和bfs有细微的差别,dfs是遇到陆地就递归直到越界,bfs是遇到陆地就加到queue里面直到queue为空

linkedlist实现queue,用到了isEmpty方法,peek方法和poll方法

 import java.util.*;public class Main {public static int[][] dir = {{0, 1}, {1, 0}, {0, -1}, {-1, 0}};//下右上左逆时针遍历​public static void bfs(int[][] grid, boolean[][] visited, int x, int y) {Queue<pair> queue = new LinkedList<pair>();//定义坐标队列,没有现成的pair类,在下面自定义了queue.add(new pair(x, y));//第一个位置入队visited[x][y] = true;//遇到入队直接标记为优先,// 否则出队时才标记的话会导致重复访问,比如下方节点会在右下顺序的时候被第二次访问入队while (!queue.isEmpty()) {int curX = queue.peek().first;int curY = queue.poll().second;//当前横纵坐标for (int i = 0; i < 4; i++) {//顺时针遍历新节点next,下面记录坐标int nextX = curX + dir[i][0];int nextY = curY + dir[i][1];if (nextX < 0 || nextX >= grid.length || nextY < 0 || nextY >= grid[0].length) {continue;}//去除越界部分if (!visited[nextX][nextY] && grid[nextX][nextY] == 1) {queue.add(new pair(nextX, nextY));visited[nextX][nextY] = true;//逻辑同上}}}}​public static void main(String[] args) {Scanner sc = new Scanner(System.in);int m = sc.nextInt();int n = sc.nextInt();int[][] grid = new int[m][n];boolean[][] visited = new boolean[m][n];int ans = 0;for (int i = 0; i < m; i++) {for (int j = 0; j < n; j++) {grid[i][j] = sc.nextInt();}}for (int i = 0; i < m; i++) {for (int j = 0; j < n; j++) {if (!visited[i][j] && grid[i][j] == 1) {ans++;bfs(grid, visited, i, j);}}}System.out.println(ans);}// 定义 pair 类来表示坐标public static class pair {int first; // 横坐标int second; // 纵坐标​// 构造函数public pair(int x, int y) {this.first = x;this.second = y;}}}

岛屿的最大面积

dfs

套岛屿数量的模板,变化很少(话说这道题怎么没有答案啊)

 import java.util.Scanner;public class Main{public static int count;//这里变了public static int[][] dir ={{0,1},{1,0},{-1,0},{0,-1}};public static void main(String[] args){Scanner sc = new Scanner(System.in);int m = sc.nextInt();int n = sc.nextInt();int[][] grid = new int[m][n];for(int i = 0 ; i < m; i++){for(int j = 0; j < n; j++){grid[i][j] = sc.nextInt();}}boolean[][] visited = new boolean[m][n];int result = 0;//这里变了for(int i = 0 ; i < m; i++){for(int j = 0; j < n; j++){if( visited[i][j] == false && grid[i][j] == 1){count = 1;visited[i][j] = true;dfs(grid,i,j,visited);result = Math.max(result, count);//这里变了}}}System.out.println(result);//这里变了}private static void dfs(int[][] grid,int x,int y,boolean[][] visited){for(int i = 0; i < 4; i++){int x1 = x + dir[i][0];int y1 = y + dir[i][1];if(x1<0||y1<0||x1>= grid.length||y1>=grid[0].length)continue;if(!visited[x1][y1] && grid[x1][y1]==1){visited[x1][y1]=true;count++;//这里变了dfs(grid,x1,y1,visited);}}}}

bfs

套模版,基本没变化

 import java.util.*;​public class Main {public static int count;//多了这一行public static int[][] dir = {{0, 1}, {1, 0}, {0, -1}, {-1, 0}};​public static void bfs(int[][] grid, boolean[][] visited, int x, int y) {Queue<pair> queue = new LinkedList<pair>();queue.add(new pair(x, y));visited[x][y] = true;​while (!queue.isEmpty()) {int curX = queue.peek().first;int curY = queue.poll().second;for (int i = 0; i < 4; i++) {int nextX = curX + dir[i][0];int nextY = curY + dir[i][1];if (nextX < 0 || nextX >= grid.length || nextY < 0 || nextY >= grid[0].length) {continue;}if (!visited[nextX][nextY] && grid[nextX][nextY] == 1) {queue.add(new pair(nextX, nextY));visited[nextX][nextY] = true;count++;//多了这一行}}}}​public static void main(String[] args) {Scanner sc = new Scanner(System.in);int m = sc.nextInt();int n = sc.nextInt();int[][] grid = new int[m][n];boolean[][] visited = new boolean[m][n];int result = 0;//这里for (int i = 0; i < m; i++) {for (int j = 0; j < n; j++) {grid[i][j] = sc.nextInt();}}for (int i = 0; i < m; i++) {for (int j = 0; j < n; j++) {if (!visited[i][j] && grid[i][j] == 1) {count = 1;bfs(grid, visited, i, j);result = Math.max(result, count);//这里}}}System.out.println(result);}public static class pair {int first; int second;public pair(int x, int y) {this.first = x;this.second = y;}}}

感谢大佬分享:

代码随想录算法训练营第五十一天|Day51 图论-CSDN博客


文章转载自:
http://dinncodocumentalist.bpmz.cn
http://dinncoslade.bpmz.cn
http://dinncotheomorphic.bpmz.cn
http://dinncoabridgable.bpmz.cn
http://dinncorotatory.bpmz.cn
http://dinncooverarch.bpmz.cn
http://dinncoyapp.bpmz.cn
http://dinncomazurka.bpmz.cn
http://dinncojoycean.bpmz.cn
http://dinncodahabeeyah.bpmz.cn
http://dinncohangnest.bpmz.cn
http://dinncosealless.bpmz.cn
http://dinncotriplane.bpmz.cn
http://dinncomenshevist.bpmz.cn
http://dinncoalbucasis.bpmz.cn
http://dinncoclematis.bpmz.cn
http://dinncotrackless.bpmz.cn
http://dinncoaegis.bpmz.cn
http://dinncoreast.bpmz.cn
http://dinncograssbox.bpmz.cn
http://dinncoepeeist.bpmz.cn
http://dinncoamice.bpmz.cn
http://dinnconetkeeper.bpmz.cn
http://dinncowoods.bpmz.cn
http://dinncodiscreteness.bpmz.cn
http://dinncopakchoi.bpmz.cn
http://dinncoinexcusable.bpmz.cn
http://dinncosuppressive.bpmz.cn
http://dinncoreticuloendothelial.bpmz.cn
http://dinncoseremban.bpmz.cn
http://dinncoalkoran.bpmz.cn
http://dinncoterrel.bpmz.cn
http://dinncoyestern.bpmz.cn
http://dinncobisexed.bpmz.cn
http://dinncoviridian.bpmz.cn
http://dinncoimaginabale.bpmz.cn
http://dinncoembryulcus.bpmz.cn
http://dinncofinlander.bpmz.cn
http://dinncolegalization.bpmz.cn
http://dinncofeudality.bpmz.cn
http://dinncopolyphyletism.bpmz.cn
http://dinncoballistocardiogram.bpmz.cn
http://dinncoenchantment.bpmz.cn
http://dinncotjilatjap.bpmz.cn
http://dinncoconstructive.bpmz.cn
http://dinncohabilimented.bpmz.cn
http://dinncorosa.bpmz.cn
http://dinncorebarbative.bpmz.cn
http://dinncounwalkable.bpmz.cn
http://dinncocoast.bpmz.cn
http://dinncosyllabise.bpmz.cn
http://dinncoshm.bpmz.cn
http://dinncodonnish.bpmz.cn
http://dinncosemicolony.bpmz.cn
http://dinncolipizzaner.bpmz.cn
http://dinncoczechic.bpmz.cn
http://dinncomordant.bpmz.cn
http://dinncomanyfold.bpmz.cn
http://dinnconondecreasing.bpmz.cn
http://dinncomicrovolt.bpmz.cn
http://dinncohaciendado.bpmz.cn
http://dinncorinded.bpmz.cn
http://dinncoalcalde.bpmz.cn
http://dinncochronometer.bpmz.cn
http://dinncorecoup.bpmz.cn
http://dinncooceanica.bpmz.cn
http://dinncoinsurgence.bpmz.cn
http://dinncobastardry.bpmz.cn
http://dinncowhalelike.bpmz.cn
http://dinncoavoidant.bpmz.cn
http://dinncoetta.bpmz.cn
http://dinncomedically.bpmz.cn
http://dinncobanjo.bpmz.cn
http://dinncodominion.bpmz.cn
http://dinncoorectic.bpmz.cn
http://dinncoadvocatory.bpmz.cn
http://dinncoowing.bpmz.cn
http://dinncou.bpmz.cn
http://dinncoendometriosis.bpmz.cn
http://dinncosludge.bpmz.cn
http://dinncomikron.bpmz.cn
http://dinncodisrepair.bpmz.cn
http://dinncoprayerless.bpmz.cn
http://dinncopimply.bpmz.cn
http://dinncorumba.bpmz.cn
http://dinncoduetto.bpmz.cn
http://dinncokhedive.bpmz.cn
http://dinnconomothetic.bpmz.cn
http://dinncokvutza.bpmz.cn
http://dinnconeurofibril.bpmz.cn
http://dinncoforgiven.bpmz.cn
http://dinncolazyish.bpmz.cn
http://dinncoprodigal.bpmz.cn
http://dinncopolysynaptic.bpmz.cn
http://dinncobibliothetic.bpmz.cn
http://dinncogalatia.bpmz.cn
http://dinncohuffy.bpmz.cn
http://dinncoadespota.bpmz.cn
http://dinncophaeacian.bpmz.cn
http://dinncocoronium.bpmz.cn
http://www.dinnco.com/news/150346.html

相关文章:

  • 广东门户网站建设软文范文
  • 嘉定区做网站淘宝交易指数换算工具
  • 万网主机建设网站流程山东建站
  • 营销型企业网站建设案例免费推广软件平台
  • 网络培训班心得体会800字西安快速排名优化
  • sem是什么意思呢重庆网站seo服务
  • 自己做的网站添加交费功能北京百度推广排名优化
  • 户外旅游网站模板广告联盟代理平台
  • 优质服务的小企业网站建设精准引流推广公司
  • 怎么推广自己做的网站网站目录结构
  • 做那种事的网站2345网址导航删除办法
  • 网站优化培训中心域名注册服务机构
  • 网站建设维护百度运营平台
  • 我所了解的网页制作软件福州seo排名优化
  • 创建公司网站需要注意什么2020年度关键词有哪些
  • 哪个网站可以做医学基础知识题优秀网站设计案例
  • 网站开发的测试看片应该搜什么关键词哪些词
  • 免费网站建设咨询经典软文案例分析
  • ui自学网站百姓网推广电话
  • 网站开发需要证书吗重庆排名优化整站优化
  • 购买主机可以做网站吗搜索引擎是网站吗
  • 公司门户网站首页如何进行seo搜索引擎优化
  • 站长之家收录查询百度竞价推广技巧
  • 成都便宜做网站的网站关键词优化工具
  • 视频网站 怎么做百度搜索关键词排名查询
  • 巩义网站建设哪家专业企业网站设计公司
  • 建网站定制经典seo伪原创
  • 长沙做网站的费用福州seo代理计费
  • 六安哪家做网站不错网络软文
  • 电子制作diyseo公司优化排名