网站开发与应用论文公司注册网上申报流程

张小明 2026/3/12 9:09:48
网站开发与应用论文,公司注册网上申报流程,四川省建设招标网站首页,网站免费模板思路#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进行投诉反馈,一经查实,立即删除!

宠物网站建设进度表家居网站建设的背景及意义

快速体验 打开 InsCode(快马)平台 https://www.inscode.net输入框内输入如下内容: 创建一个物联网设备效率对比Demo,分别展示纯云端处理和云边端协同处理的性能差异。包含:1) 纯云端方案:所有传感器数据直接上传云端处理&#xf…

张小明 2026/3/5 4:12:27 网站建设

有关学风建设网站汕头建站模板厂家

第一章:Open-AutoGLM与Parasoft SOAtest集成背景概述随着企业级自动化测试需求的不断增长,AI驱动的测试生成技术与传统功能测试工具的融合成为提升软件质量效率的关键路径。Open-AutoGLM 作为基于大语言模型的开源自动化测试生成框架,具备理解…

张小明 2026/3/5 4:12:25 网站建设

广州企业建站找哪家青岛公司网站

第一章:量子计算镜像参数配置的核心概念在量子计算系统中,镜像参数配置是确保量子态稳定映射与操作精度的关键环节。该配置涉及对量子门、纠缠源及测量基的虚拟化建模,使其能够在经典仿真环境中准确反映真实硬件行为。镜像参数的基本构成 量子…

张小明 2026/3/5 4:12:26 网站建设

找人做个网站大概多少钱一个公司的官网怎么做

中国科学技术大学学位论文LaTeX模板终极使用指南 【免费下载链接】ustcthesis LaTeX template for USTC thesis 项目地址: https://gitcode.com/gh_mirrors/us/ustcthesis 中国科学技术大学学位论文LaTeX模板(ustcthesis)是专为中科大学子设计的论…

张小明 2026/3/5 4:12:30 网站建设

网站卖东西怎么做提升学历的正规机构

快速体验 打开 InsCode(快马)平台 https://www.inscode.net输入框内输入如下内容: 制作一个面向新手的密码锁知识科普应用,包含:1. 密码锁类型介绍;2. 密码设置和记忆技巧;3. 忘记密码的基础解决方案;4. 预…

张小明 2026/3/5 4:12:30 网站建设

久商推网站建设免费发布出租房信息网站

Linux并发与竞态条件管理全解析 1. 并发问题概述 在操作系统编程里,并发问题是核心难题之一。并发相关的错误容易产生却难以发现,即便经验丰富的开发者也可能偶尔犯错。早期Linux内核的并发源较少,仅支持硬件中断服务引发的并发执行。但随着硬件和应用需求的发展,如今的内…

张小明 2026/3/5 4:12:32 网站建设