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

新北网站建设域名备案查询官网

新北网站建设,域名备案查询官网,青岛网站建设找,莱芜博客网牛客网 面试笔试 TOP101 1. 题目 描述 给一个01矩阵,1代表是陆地,0代表海洋, 如果两个1相邻,那么这两个1属于同一个岛。我们只考虑上下左右为相邻。 岛屿: 相邻陆地可以组成一个岛屿(相邻:上下左右) …

牛客网 面试笔试 TOP101   

1. 题目

描述

给一个01矩阵,1代表是陆地,0代表海洋, 如果两个1相邻,那么这两个1属于同一个岛。我们只考虑上下左右为相邻。

岛屿: 相邻陆地可以组成一个岛屿(相邻:上下左右) 判断岛屿个数。

例如:

输入

[

[1,1,0,0,0],

[0,1,0,1,1],

[0,0,0,1,1],

[0,0,0,0,0],

[0,0,1,1,1]

]

对应的输出为3

(注:存储的01数据其实是字符'0','1')

示例1

输入:

[ [1,1,0,0,0],[0,1,0,1,1],[0,0,0,1,1],[0,0,0,0,0],[0,0,1,1,1]
]

返回值:

3
示例2

输入:

[[0]
]

返回值:

0
示例3

输入:

[[1,1],[1,1]
]

返回值:

1

备注:

01矩阵范围<=200*200

2. 解题思路

岛屿数量的计算可以通过遍历+递归的形式完成,具体思路如下:

如果文字描述的不太清楚,你可以参考视频的详细讲解。

  • Python编码:哔哩哔哩_bilibilihttps://www.bilibili.com/cheese/play/ep1374916

  • Java编码:LeetCode数据结构笔试面试算法-Java版_哔哩哔哩_bilibiliLeetCode数据结构笔试面试算法-Java版,bilibili课堂,哔哩哔哩课堂,哔哩哔哩,Bilibili,B站,弹幕https://www.bilibili.com/cheese/play/ep1368180

  • Golang编码:LeetCode数据结构笔试面试算法-Go语言版_哔哩哔哩_bilibiliLeetCode数据结构笔试面试算法-Go语言版,bilibili课堂,哔哩哔哩课堂,哔哩哔哩,Bilibili,B站,弹幕https://www.bilibili.com/cheese/play/ep1365123

3. 编码实现

核心代码如下:

/*** 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可** 判断岛屿数量* @param grid char字符型二维数组* @return int整型*/
func solve(grid [][]byte) int {// write code herecount := 0 //岛屿个数//遍历二维数组的每一个元素 统计岛屿的个数for i := 0; i < len(grid); i++ {for j := 0; j < len(grid[0]); j++ {if grid[i][j] == '1' {//如果当前元素是1,岛屿的数量加1count++//递归处理岛屿(相邻的设置为0:因为该岛屿已经计算过)dfs(grid, i, j)}}}return count
}// 把当前元素以及他邻近的为1的元素都置为0
func dfs(grid [][]byte, i int, j int) {// 2.递归终止条件:边界条件判断,不能越界; grid[i][j] == '0':非岛屿,返回if (i < 0 || i >= len(grid)) || (j < 0 || j >= len(grid[0])) || (grid[i][j] == '0') {return}// 1. 递归步骤// 1.1 设置当前岛屿置位0(已经计算过)grid[i][j] = '0'// 1.2 对上、下、左、右 连着的4个方向进行递归处理(如果为岛屿,即 grid[i][j] == '1',置0)dfs(grid, i-1, j) //上dfs(grid, i+1, j) //下dfs(grid, i, j-1) //左dfs(grid, i, j+1) //右
}

具体完整代码你可以参考下面视频的详细讲解。

  • Python编码:哔哩哔哩_bilibilihttps://www.bilibili.com/cheese/play/ep1374916

  • Java编码:LeetCode数据结构笔试面试算法-Java版_哔哩哔哩_bilibiliLeetCode数据结构笔试面试算法-Java版,bilibili课堂,哔哩哔哩课堂,哔哩哔哩,Bilibili,B站,弹幕https://www.bilibili.com/cheese/play/ep1368180

  • Golang编码:哔哩哔哩_bilibilihttps://www.bilibili.com/cheese/play/ep1365123

4.小结

岛屿的计算方法为:遍历二维数组中的每一个元素,如果是1则岛屿计数,同时通过递归的方式将连接的岛屿(相邻元素为1值)设置为海洋(元素值设置为0,因为该岛屿已经计算过)。

《数据结构与算法》深度精讲课程正式上线啦!7 大核心算法模块全解析:

  ✅   链表

  ✅   二叉树

  ✅   二分查找、排序

  ✅   堆、栈、队列

  ✅   回溯算法

  ✅   哈希算法

  ✅   动态规划

无论你是备战笔试面试、提升代码效率,还是突破技术瓶颈,这套课程都将为你构建扎实的算法思维底座。🔥立即加入学习打卡,与千名开发者共同进阶!

  • Python编码实现:哔哩哔哩_bilibilihttps://www.bilibili.com/cheese/play/ss897667807

  • Java编码实现:哔哩哔哩_bilibilihttps://www.bilibili.com/cheese/play/ss161443488

  • Golang编码实现:LeetCode数据结构笔试面试算法-Go语言版_哔哩哔哩_bilibiliLeetCode数据结构笔试面试算法-Go语言版,bilibili课堂,哔哩哔哩课堂,哔哩哔哩,Bilibili,B站,弹幕https://www.bilibili.com/cheese/play/ss63997

对于数据结构与算法,我们总结了一套【可视化+图解】方法,依据此方法来解决相关问题,算法变得易于理解,写出来的代码可读性高也不容易出错。具体也可以参考视频详细讲解。

今日佳句:世异则事异,事异则备变。

http://www.dtcms.com/wzjs/319324.html

相关文章:

  • 二级域名做网站有哪些缺点站点查询
  • wordpress搭建小程序广西seo快速排名
  • 自家企业网络推广seo优化方案项目策划书
  • 用网站源码怎么做网站关键词推广价格
  • 服装电子商务网站有哪些百度优化教程
  • 全网影视vip网站建设成品网站源码1688免费推荐
  • 专门做旅游的视频网站有哪些seo关键词排名优化怎样收费
  • 企业商城网站 .nettorrentkitty磁力猫引擎
  • 手机网站设计背景图片如何制作网址链接
  • 网站建设设计文档模板app优化方案
  • 哪些网站做的好处和坏处微信营销平台有哪些
  • 甘肃省住房和城乡建设厅网站百度指数数据分析平台入口
  • 东莞智通人才网招聘信息网网站关键词优化方案
  • 南山企业网站建设百度网址大全下载安装
  • 怎么样才能自己做网站打广告软文营销案例200字
  • 正能量直播网站上海谷歌seo推广公司
  • 做IPv6网站升级的公司有哪些海城seo网站排名优化推广
  • 网站建设与管理 教学视频广东东莞最新疫情
  • angular网站模板下载营销最好的方法
  • 小公司让我用织梦做网站今日财经新闻
  • sharepoint做门户网站长沙百度地图
  • 如何搭建第三方网站如何用html制作一个网页
  • 大学生课程设计网站小红书seo
  • 佛山知名营销网站开发搜狗站长平台
  • 建设网站服务费会计分录2023近期舆情热点事件
  • 铁威马 Nas 做网站腾讯营销平台
  • 网站图片用什么做的seo快速排名多少钱
  • 龙岩市永定区疫情最新消息郑州官网网站推广优化公司
  • 第三方网站做app百度app官网
  • 成都网站建设 3e网络推销一个产品的方案