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

12.13 - 岛屿数量 C语言中extern关键字的作用

目录

1.岛屿数量

a.核心思想

b.思路

c.步骤

2.C语言中extern关键字的作用


1.岛屿数量

200. 岛屿数量 - 力扣(LeetCode)https://leetcode.cn/problems/number-of-islands/description/

class Solution { public: void dfs(vector<vector<char>>& grid, int r, int c) { int nr = grid.size(); int nc = grid[0].size(); // 检查边界条件和是否为陆地 if (r < 0 || c < 0 || r >= nr || c >= nc || grid[r][c] == '0') { return; } // 标记当前陆地为已访问(置为'0') grid[r][c] = '0'; // 递归访问相邻的四个方向 dfs(grid, r - 1, c); // 上 dfs(grid, r + 1, c); // 下 dfs(grid, r, c - 1); // 左 dfs(grid, r, c + 1); // 右 } int numIslands(vector<vector<char>>& grid) { if (grid.empty() || grid[0].empty()) return 0; int nr = grid.size(); // 行数 int nc = grid[0].size(); // 列数 int count = 0; // 岛屿计数 for (int r = 0; r < nr; ++r) { for (int c = 0; c < nc; ++c) { if (grid[r][c] == '1') { ++count; dfs(grid, r, c); } } } return count; } };

a.核心思想

利用深度优先搜索(DFS)或广度优先搜索(BFS)来遍历二维网格,将相邻的陆地标记为已访问,每次遇到新的未访问的陆地就表示发现一个新的岛屿。

b.思路

遍历二维网格中的每一个点,当遇到陆地(值为'1')且未被访问过时,启动 DFS 或 BFS 来标记所有与之相连的陆地为已访问,同时岛屿数量加 1。

c.步骤

① 初始化一个与网格大小相同的二维数组visited来记录每个点是否被访问过,或者直接修改原网格来标记已访问(将访问过的陆地置为'0')。

② 遍历二维网格,对于每个点:如果该点是陆地且未被访问过,进行 DFS 或 BFS 遍历所有相连的陆地并标记为已访问,同时岛屿数量加 1。

③ 返回岛屿数量。

2.C语言中extern关键字的作用

在C语言中,extern关键字用于声明变量或函数为外部链接,表示该变量/函数的定义在其他编译单元(如另一个源文件)中,当前文件仅引用它。其核心作用是解决跨文件的全局符号访问问题,不分配内存,仅声明存在性。

希望这些内容对大家有所帮助!

感谢大家的三连支持!

http://www.jsqmd.com/news/84923/

相关文章:

  • 20亿参数挑战千亿模型:土耳其语专用LLM Kumru-2B改写行业规则
  • torch 操作函数
  • 什么叫范式
  • Qwen3Guard-Gen-0.6B震撼发布:Qwen团队打造新一代多语言安全审核模型,重新定义AI内容风控标准
  • Qwen3-30B-A3B-Thinking-2507-FP8:新一代推理增强大模型重磅发布
  • MachineLearningLM:革新大语言模型上下文学习能力的突破性框架
  • 板栗矮砧密植:水肥一体化系统的铺设要点指南
  • 百度网盘提取码终极解决方案:告别繁琐操作的一键神器
  • 【Java数组】--告别困惑快速掌握数组
  • Flutter 实现一个容器内部元素可平移、缩放和旋转等功能(三)
  • Qwen3-VL-4B-Instruct-FP8:多模态大模型的轻量化革命与技术突破
  • Qwen2.5-VL-3B-Instruct-AWQ:新一代多模态模型的技术突破与应用实践
  • jupyter notebook如何使用虚拟环境?
  • 本地化部署腾讯混元大模型并集成Elasticsearch构建智能检索系统全攻略
  • 004登录功能测试
  • 黑科技软件,确实牛X!
  • 每日三题 6
  • DeepSeek-V2-Chat-0628强势登顶开源模型榜首,三大核心能力改写行业竞争格局
  • 结构体设计艺术:Host侧Tiling数据结构定义详解
  • 14、正则表达式与日志处理全解析
  • 错误处理与异常调试在Ascend C中的艺术:从防御性编程到系统级排查
  • 腾讯云智能体开发平台RAG模型商业化倒计时 核心功能12月10日起正式计费
  • 小米开源MiDashengLM-7B声音大模型:22项测评登顶SOTA,推理效率提升4倍
  • iTerm2 美化
  • HunyuanImage-GGUF模型部署全攻略:从基础配置到轻量化实践
  • 生成PPT的提示词模版
  • 国外好软件,但切勿非法使用,否则后果自负!
  • 开源音频AI里程碑:Liquid AI发布LFM2-Audio模型,15亿参数实现全场景端侧语音交互
  • 每日一题Day09-划分字母区间
  • 【面板数据】全球稀土贸易数据(2018-2024年)