news 2026/2/11 3:27:06

【剑斩OFFER】算法的暴力美学——LeetCode 200 题:岛屿数量

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
【剑斩OFFER】算法的暴力美学——LeetCode 200 题:岛屿数量

一、题目描述

二、算法原理

思路:使用 BFS 算法

这道题目是基于:https://blog.csdn.net/2403_84958571/article/details/157102131?spm=1011.2415.3001.10575&sharefrom=mp_manage_link

图形化渲染的题目来的,因为图形化显然遍历上下左右时,将遍历的值修改了,所以不会重复遍历,所以:我们只要补充一下这道题:我们也弄出一个二维数组,大小跟题目给的一样,但是这里面存储的值为:bool 值,我们初始化时将他初始化为 fasle,代表未查找过的岛屿,如果我们使用 BFS 算法查找时,要将遍历过的值变成:true ,代表查找过了;

三、代码实现

class Solution { int dy[4] = {0,0,1,-1}; int dx[4] = {1,-1,0,0}; typedef pair<int,int> PII; void checkgrid(queue<PII>& que,vector<vector<bool>>& tmp,vector<vector<char>>& grid) { while(que.size())//BFS 算法 { auto [x,y] = que.front(); que.pop(); tmp[x][y] = true; for(int i = 0; i < 4; i++) { int a = x + dy[i]; int b = y + dx[i]; if(a >= 0 && a < tmp.size() && b >= 0 && b < tmp[0].size() && grid[a][b] == '1' && tmp[a][b] == false) { tmp[a][b] = true; que.push({a,b}); } } } } public: int numIslands(vector<vector<char>>& grid) { vector<vector<bool>> tmp(grid.size(),vector<bool>(grid[0].size(),false));//模拟遍历过的数组 int x = grid[0].size(); int y = grid.size(); queue<PII> que; int size = 0;//岛屿个数 for(int i = 0;i < y; i++)//遍历数组,找到未遍历过的岛屿,即:false { for(int k = 0; k < x;k++) { if(grid[i][k] == '1' && tmp[i][k] == false) { que.push({i,k}); size++; checkgrid(que,tmp,grid); } } } return size; } };
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/1/31 16:21:13

轻松入门SpringAI-SpringAI调用Ollama

轻松入门 Spring AI 调用 Ollama &#xff08;2025-2026 最新最实用写法&#xff09; 目前使用 Spring AI Ollama 最推荐的几种组合方式&#xff08;按推荐顺序&#xff09;&#xff1a; 排名方式优点缺点/限制适合场景推荐度1Spring AI Ollama ChatClient配置最少、写法最自…

作者头像 李华
网站建设 2026/2/4 10:15:58

Python+Vue的 二手书籍交易平台 django Pycharm flask

目录 这里写目录标题目录项目介绍项目展示详细视频演示技术栈文章下方名片联系我即可~解决的思路开发技术介绍性能/安全/负载方面python语言Django框架介绍技术路线关键代码详细视频演示收藏关注不迷路&#xff01;&#xff01;需要的小伙伴可以发链接或者截图给我 项目介绍 …

作者头像 李华
网站建设 2026/2/4 9:32:45

计算机小程序毕设实战-基于springboot+微信小程序的服装商城的设计与实现小程序基于微信小程序的在线服装商城店铺的设计与实现【完整源码+LW+部署说明+演示视频,全bao一条龙等】

博主介绍&#xff1a;✌️码农一枚 &#xff0c;专注于大学生项目实战开发、讲解和毕业&#x1f6a2;文撰写修改等。全栈领域优质创作者&#xff0c;博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围&#xff1a;&am…

作者头像 李华
网站建设 2026/2/8 11:06:31

吐血推荐10个一键生成论文工具,专科生毕业论文必备!

吐血推荐10个一键生成论文工具&#xff0c;专科生毕业论文必备&#xff01; 专科生的论文救星&#xff0c;AI 工具如何改变你的写作方式&#xff1f; 在如今的学术环境中&#xff0c;论文写作早已不再是单纯的文字堆砌&#xff0c;而是对逻辑、结构和内容深度的综合考验。尤其是…

作者头像 李华
网站建设 2026/1/29 21:25:28

(1-2)人形机器人的发展历史、趋势与应用场景:未来趋势与行业需求

1.2 未来趋势与行业需求随着具身智能、大模型与机器人核心硬件的快速发展&#xff0c;人形机器人正从技术验证阶段迈向面向真实场景的规模化应用阶段。未来的发展趋势不仅体现在智能水平的持续提升&#xff0c;更体现在对劳动力结构、生产方式与服务形态的深刻重塑。在制造业、…

作者头像 李华