公司做网站注意什么淄博的大型网站建设

张小明 2026/3/13 7:35:33
公司做网站注意什么,淄博的大型网站建设,男生做污污事的视频网站,国家信用信息公示官网思路#xff1a;#xff08;1#xff09;题目中每座岛屿只能由水平方向和竖直方向上相邻的陆地连接而成#xff0c;也就是说斜角度的连接不算。例如示例二#xff0c;是三个岛屿。#xff08;2#xff09;本题的思路是遇到一个没有遍历过的节点陆地#xff0c;计数器就…思路1题目中每座岛屿只能由水平方向和竖直方向上相邻的陆地连接而成也就是说斜角度的连接不算。例如示例二是三个岛屿。2本题的思路是遇到一个没有遍历过的节点陆地计数器就加1然后把该节点陆地所能遍历到的陆地都标记上。在遇到标记过的陆地节点和海洋节点的时候直接跳过这样计数器就是最终岛屿的数量。3把节点陆地所能遍历到的陆地都标记上就可以使用DFS、BFS或并查集。一、DFS1.目标是找到矩阵中“岛屿的数量”上下左右相连的1都被认为是连续岛屿。2.dfs方法设目前指针指向一个岛屿中的某一个点i,j寻找包括此点的岛屿边界。1从i,j向此点的上下左右i 1,j、i - 1,j、i,j 1、i、j - 1做深度搜索。2终止条件——i,j越过矩阵边界。——grid[i][j] 0表示此分支已越过岛屿边界。3搜索岛屿的同时执行grid[i][j] 0即将岛屿的所有节点删除以免之后重复搜索相同的岛屿。3.主循环遍历整个矩阵当遇到grid[i][j] 1的时候从此点开始做深度优先搜索dfs岛屿数count 1且在深度优先搜索中删除此岛屿。4.最终返回岛屿数count即可。附代码class Solution { public int numIslands(char[][] grid) { int count 0; for(int i 0;i grid.length;i){ for(int j 0;j grid[0].length;j){ if(grid[i][j] 1){ //发现新岛屿 dfs(grid,i,j); //将整个岛屿标记为已访问(沉没整个岛屿) count; //岛屿数量 1 } } } return count; } private void dfs(char[][] grid,int i,int j){ //递归终止条件边界检查 遇到水/已访问的陆地 // ||操作具有短路特性只要前面的任何一个条件为true后面的条件就不会执行 //因此要先做边界检查当边界检查都通过后再判断grid[i][j] // 也有短路特性 if(i 0 || j 0 || i grid.length || j grid[0].length || grid[i][j] 0){ return; } //将当前陆地标记为已访问沉没岛屿改为‘0’ grid[i][j] 0; //向四个方向递归探索 dfs(grid,i 1,j); //下 dfs(grid,i,j 1); //右 dfs(grid,i - 1,j); //上 dfs(grid,i,j - 1); //左 } }二、BFS1.主循环和DFS类似不同点在于搜索某岛屿边界的方法不同。2.BFS方法1借用一个队列queue判断队列首部节点i,j是否未越界且为‘1’。——若是则置0删除岛屿节点并将此节点的上下左右节点i 1,j、i - 1,j、i,j 1、i,j - 1加入队列。——若不是则跳过此节点。2remove(pop)队列的首节点直到整个队列为空此时已经遍历完此岛屿。附代码class Solution { public int numIslands(char[][] grid) { int count 0; for(int i 0; i grid.length; i) { for(int j 0; j grid[0].length; j) { if(grid[i][j] 1){ //发现新岛屿 bfs(grid, i, j); //将整个岛屿标记为已访问沉没整个岛屿 count; //岛屿计数 1 } } } return count; } private void bfs(char[][] grid, int i, int j){ LinkedListint[] queue new LinkedList(); //BFS队列 queue.add(new int[] { i, j }); //将起始点加入队列 while(!queue.isEmpty()){ int[] cur queue.remove(); //取出队首节点 i cur[0]; j cur[1]; //检查节点是否有效且是陆地 if(0 i i grid.length 0 j j grid[0].length grid[i][j] 1) { grid[i][j] 0; //标记为已访问改为水 //将四个方向的相邻节点加入到队列 queue.add(new int[] { i 1, j }); queue.add(new int[] { i - 1, j }); queue.add(new int[] { i, j 1 }); queue.add(new int[] { i, j - 1 }); } } } }
版权声明:本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!

南京网站建设 雷辽宁省建设工程招标投标协会网站

阿里云盘自动化签到解决方案:轻松获取免费存储空间 【免费下载链接】QLScriptPublic 青龙面板脚本公共仓库 项目地址: https://gitcode.com/GitHub_Trending/ql/QLScriptPublic 还在为每天手动签到阿里云盘而烦恼吗?现在有了完美的自动化解决方案…

张小明 2026/3/5 7:49:39 网站建设

建网站设计腾讯云建设网站教程

IGWO-RF多特征回归,基于改进灰狼算法(IGWO)优化随机森林(RF)数据回归预测 改进点:两个点 初始化改进收敛因子改进 1、运行环境要求MATLAB版本为2018b及其以上 2、评价指标包括:R2、MAE、MBE、RMSE等,图很多,符合您的需要 3、代码中…

张小明 2026/3/5 7:49:42 网站建设

网址导航建站网站主机是服务器吗

高效制作WingetUI离线安装包的完整指南 【免费下载链接】WingetUI WingetUI: A better UI for your package managers 项目地址: https://gitcode.com/GitHub_Trending/wi/WingetUI 如何在无网络环境下快速部署WingetUI这款强大的包管理器图形界面工具?这是许…

张小明 2026/3/5 7:49:43 网站建设

android开发教程网站网站开发代码归属

✅作者简介:热爱科研的Matlab仿真开发者,擅长数据处理、建模仿真、程序设计、完整代码获取、论文复现及科研仿真。🍎 往期回顾关注个人主页:Matlab科研工作室🍊个人信条:格物致知,完整Matlab代码及仿真咨询…

张小明 2026/3/5 7:49:43 网站建设

网站维护客户wordpress的seo收件箱

背景及意义随着人口老龄化程度不断加深,老年人的健康管理愈发受到社会关注。体检作为健康管理的关键环节,能帮助老年人及时发现潜在健康问题。然而,传统的老年人体检管理多依赖人工操作,存在效率低、易出错、信息共享难等问题。在…

张小明 2026/3/5 7:49:44 网站建设

做谷歌外贸较好网站自媒体网站程序

深入探索汇编与C交互及文件I/O操作 1. 灵活调用程序的技巧 在汇编代码中,我们可以通过两种方式调用程序,下面的代码片段展示了这一点: mov ebx, pull8 ; 将标签pull8代表的地址加载到EBX call pull8 ; 调用pull8代表的地址 call ebx ; 调用EBX中存储的地址这…

张小明 2026/3/5 7:49:45 网站建设