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

leetcode 547.省份数量

思路:dfs

或者这道题用bfs也是可以的。

这道题有点迷惑性,这里的数组给的是无向图的数组,而并不是地图,这里需要着重注意一下。

而后,这里的状态数组st没必要是二维的,我们并不会去遍历所给的数组,这是没有意义的,我们只需要从这个数组中提取出来哪些城市有连接即可。

剩下的就是连通块的思想了。连通块前面已经写过很多了,大家可以去前面的博客看一下。

对于每一个编号的城市,在遍历的时候都进行标记,然后再去判断和其他城市有没有联系;如果有,就换到下一个城市里面,继续dfs;没有的话继续循环,这样就遍历完一个“省份”了,也就是一个连通块,不要忘记计数。

上代码:


class Solution {int []st=new int[210];int n;public void dfs(int x,int[][]s){if(x>=n)return;for(int i=0;i<n;i++){if(st[i]==0&&s[x][i]==1){st[i]=1;dfs(i,s);}}}public int findCircleNum(int[][] isConnected) {n=isConnected.length;int counts=0;for(int i=0;i<n;i++){if(st[i]==0){st[i]=1;dfs(i,isConnected);counts++;}}return counts;}
}

http://www.lryc.cn/news/342810.html

相关文章:

  • Qt5 框架学习及应用 — 对象树
  • Ansible自动化运维工具---Playbook
  • 什么是接口和类?Java中的集合框架有哪些主要接口和类?
  • 算法学习笔记(最短路——Bellman-Ford)
  • try-catch-finally的省略与springboot
  • 容器Docker:轻量级虚拟化技术解析
  • windows 系统中cuda 12.1 环境安装
  • 字节和旷视提出HiDiffusion,无需训练,只需要一行代码就可以提高 SD 生成图像的清晰度和生成速度。代码已开源。
  • linux下dd制作启动U盘
  • springboot整合mybatis配置多数据源(mysql/oracle)
  • 练习项目后端代码解析切面篇(Aspect)
  • TypeScript常见面试题第六节
  • LeetCode 面试经典150题 228.汇总区间
  • 大数据分析入门10分钟快速了解SQL
  • 设置多用户远程登录windows server服务器
  • 一文了解栈
  • C语言----汉诺塔问题
  • Python中驼峰命名法和下划线命名法相互转换的实战代码
  • 【hackmyvm】vivifytech靶机
  • 纯血鸿蒙APP实战开发——手写绘制及保存图片
  • 在什么情况下表单会被重复提交?如何避免?
  • JavaScript 中的 Class 类
  • python实验三 实现UDP协议、TCP协议进行服务器端与客户端的交互
  • ServiceNow 研究:通过RAG减少结构化输出中的幻觉
  • ADS基础教程10-多态性(动态模型选择)
  • 代码随想录第四十六天|单词拆分
  • RabbitMQ的介绍和使用
  • 前端get请求日期类型参数向后端传参失败
  • 【docker 】 push 镜像提示:denied: requested access to the resource is denied
  • 浏览器各类好用插件使用及常见问题(技巧)总结