解决岛屿问题

简介: 解决岛屿问题

Island

问题

整形二维数组arr中分布着许多1,其余都是0,彼此相连的一群1构成一个岛屿,斜线不表示相连,求岛屿的数量

思路

遍历数组,遇到1进行感染infect,将1改成2

实现

void infect(vector<vector<int>>& arr,int i,int j)
{
    /******注意边界******/
    if(i > arr.size() || i < 0 || j > arr[0].size() || j < 0 || arr[i][j] != 1) return;
    arr[i][j] = 2;
    infect(arr,i - 1,j);
    infect(arr,i + 1,j);
    infect(arr,i,j + 1);
    infect(arr,i,j - 1);
}
int Island(vector<vector<int>> arr)
{
    int res = 0;
    for(int i = 0;i < arr.size();i++)
    {
        for(int j = 0;j < arr[0].size();j++)
        {
            if(arr[i][j] == 1)
            {
                res++;
                infect(arr,i,j);
            }
        }
    }
    return res;
}

总结

如果二维数组过大,那这个方法就不好使了,所以可以将数组分为两部分,再利用并查集的思想解决

luck++
+关注
目录
打赏
0
0
0
0
0
分享
相关文章
介绍几个常用的电商API接口及其应用场景。(一篇文章全清楚)
电商API接口是电商平台高效运营的核心技术支撑,涵盖商品管理、订单管理、支付、客户管理、营销推广和数据分析六大模块。商品管理API实现商品信息的精准上传与动态调整;订单管理API确保订单全流程透明可控;支付API保障交易安全便捷;客户管理API通过数据分析提供个性化服务;营销推广API助力精准营销;数据分析API为决策提供数据支持。各API协同工作,推动电商行业创新发展,构建智能便捷的电商生态。
843 12
|
9月前
|
人工光合作用:可持续能源的替代方案
【10月更文挑战第4天】在能源紧缺与环境污染日益严重的背景下,人工光合作用作为模拟自然光合作用的技术,展示了其在可持续能源领域的巨大潜力。本文详细介绍了其基本原理,即通过人工装置将太阳能、水和二氧化碳转化为清洁燃料;技术进展包括光催化剂优化、集成反应系统及多样化产物;以及其在清洁能源生产、碳减排和环境治理中的应用。随着研究的深入,人工光合作用有望成为未来能源转型的关键技术。
探究现代操作系统的架构与优化策略
本文旨在深入探讨现代操作系统的核心架构及其性能优化方法。通过分析操作系统的基本组成、关键技术和面临的挑战,揭示如何通过技术手段提升系统效率和用户体验。不同于传统的技术文章摘要,这里不罗列具体研究方法和结果,而是以简明扼要的语言概述文章的核心内容和思考方向,为读者提供宏观视角和技术深度。 生成
163 3
社区供稿 | 源大模型的快速部署与高效推理——GGUF格式模型介绍与使用教程
在人工智能领域,大型语言模型的发展日新月异,它们在自然语言处理、机器翻译、智能助手等多个领域展现出了前所未有的能力。
社区供稿 | 源大模型的快速部署与高效推理——GGUF格式模型介绍与使用教程
下载安装 vscode(含汉化、插件的推荐和安装)
下载安装 vscode(含汉化、插件的推荐和安装)
171 0
下载安装 vscode(含汉化、插件的推荐和安装)
linux服务器重启php,nginx,redis,mysql命令
linux服务器重启php,nginx,redis,mysql命令
219 1
【热门话题】Vue.js:现代前端开发的轻量级框架之旅
Vue.js,由尤雨溪于2014年创建,是一个轻量级的前端框架,因其简洁API、高效渲染和组件系统深受全球开发者喜爱。本文探讨Vue的核心理念、技术架构、开发实践及在现代Web开发中的应用。Vue遵循渐进式框架思想,提供声明式编程、组件化和响应式数据绑定。技术上,它采用双向数据绑定、虚拟DOM和生命周期钩子。开发实践中,Vue CLI和Vuex、Vue Router分别加速开发和管理状态、路由。Vue不仅适用于单页应用,还支持多页应用、移动开发和跨平台项目,拥有丰富的社区生态和插件。随着Vue 3的推出,Vue将持续创新并影响前端开发领域。
229 0
局域网管理软件的自动化任务调度:Python 中的 APScheduler 库的应用
使用 Python 的 APScheduler 库可简化局域网管理中的自动化任务调度。APScheduler 是一个轻量级定时任务调度库,支持多种触发方式如间隔、时间、日期和 Cron 表达式。示例代码展示了如何创建每 10 秒执行一次的定时任务。在局域网管理场景中,可以利用 APScheduler 定期监控设备状态,当设备离线时自动提交数据到网站,提升管理效率。
214 0
AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等

登录插画

登录以查看您的控制台资源

管理云资源
状态一览
快捷访问