【广度优先遍历-中等】剑指 Offer II 116. 省份数量、547. 省份数量

剑指 Offer II 114. 外星文字典 若单词列表的长度为 n,每个单词的平均长度为 m,那么建图的时间复杂度为 O(mn)。因为每两个单词之间会最多建立一条边,字母的数量为定值即 26,所以广度优先搜索的时间复杂度为 O(n),故整个程序的时间复杂度为 O(mn)。tabs:start。 阅读详情

【题目】
在这里插入图片描述
【代码】
思路:
这道题的本质就是求非联通子图的个数,函数给的输入是isConnected矩阵,是对称矩阵。由于是无向图,所以需要对节点是否访问给与记录,否则会陷入死循环。
在这里插入图片描述

class Solution:
    def findCircleNum(self, isConnected: List[List[int]]) -> int:
        #本质是非联通子图的个数
        #无向图 矩阵对称
        n=len(isConnected)
        visited=[False for i in range(n)]
        cnt=0
        for i in range(n):
            if visited[i]==False:
                cnt+=1
                visited[i]=True
                queue=[i]
                while queue:
                    item=queue.pop(0)
                    for j in range(n):
                        if j!=item and isConnected[item][j]==1 and not visited[j]:
                            visited[j]=True
                            queue.append(j)
        return cnt

【方法2】
在这里插入图片描述

class Solution:
    def findCircleNum(self, isConnected: List[List[int]]) -> int:
        n=len(isConnected)
        visited=set()
        cnt=0
        def dfs(x):
            for i in range(n):
                if x!=i and isConnected[x][i]==1 and i not in visited:
                    visited.add(i)
                    dfs(i)
        
        for i in range(n):
            if i not in visited:
                visited.add(i)
                dfs(i)
                cnt+=1
        return cnt
别再对着数据手册发愁了!用HFSS 2023 R2搞定ESP32-C3板载天线的阻抗匹配 本文详细介绍了如何利用HFSS 2023 R2进行ESP32-C3板载天线的阻抗匹配优化,解决实际PCB设计中常见的性能偏差问题。通过智能模型导入、科学参数扫描和量化优化流程,显著提升天线性能,适用于WIFI和蓝牙应用场景。 阅读详情

相关推荐

ESP-SR实战:从零搭建智能语音唤醒与命令识别系统

本文详细介绍了如何利用乐鑫ESP-SR框架,从零开始搭建一个完整的离线智能语音交互系统。内容涵盖硬件选型(推荐ESP32-S3与数字麦克风)、开发环境配置(ESP-IDF与ESP-ADF),并深入解析了AFE声学前端、WakeNet唤醒词检测和MultiNet命令词识别三大核心模块的工作原理与实战配置。通过具体的代码示例和调试技巧,指导开发者快速实现高识别率的语音唤醒与命令控制功能。

weixin_29161785的博客 302

剑指 Offer II 116. 省份数量

剑指 Offer II 116. 省份数量

在彼淇梁的博客 369

手把手教你排查Abaqus中的Johnson-Cook损伤参数:避免因d3正负号导致的仿真失败

本文详细解析了Abaqus中Johnson-Cook损伤参数d3正负号设置的关键问题,帮助用户避免因参数错误导致的仿真失败和Excessive distortion报错。通过对比不同文献定义、提供实操指南和典型错误排查流程,有效提升非线性分析的准确性和效率。

weixin_33960567的博客 356

剑指offer116:省份数量

题目: 有 n 个城市,其中一些彼此相连,另一些没有相连。如果城市 a 与城市 b 直接相连,且城市 b 与城市 c 直接相连,那么城市 a 与城市 c 间接相连。 省份 是一组直接或间接相连的城市,组内不含其他没有相连的城市。 给你一个 n x n 的矩阵 isConnected ,其中 isConnected[i][j] = 1 表示第 i 个城市和第 j 个城市直接相连,而 isConnected[i][j] = 0 表示二者不直接相连。 返回矩阵中 省份 的数量。 示例一: 输入:isConnec

L的博客 364

告别卡顿!用ARMv8.1-M的MVE(Helium)技术,让你的嵌入式DSP应用飞起来

本文深入探讨了ARMv8.1-M架构的MVE(Helium)技术如何显著提升嵌入式DSP应用的性能。通过介绍MVE的向量处理能力、关键指令集和实战优化示例(如FIR滤波器的向量化实现),展示了从标量到向量代码的转变路径。性能对比显示,MVE优化可带来高达8倍的性能提升,特别适用于音频处理、电机控制等嵌入式场景。

weixin_28693683的博客 231

Multisim仿真运放积分器踩坑实录:为什么你的方波变不成三角波?

本文针对Multisim仿真运放积分器时方波无法转换为三角波的常见问题,提供了详细的排查与调试指南。文章指出,经典RC积分电路因直流反馈开路导致运放饱和,核心解决方案是在反馈电容两端并联大阻值电阻以稳定直流工作点。通过参数优化(调整Rin、C、Rf)和高级仿真技巧,手把手教你调出线性度好、幅度适中的完美三角波,并分享异常波形(如饱和、不对称、振荡)的对应策略。

weixin_29231263的博客 115

Java队列算法精讲:从数据结构到《剑指Offer II》实战

队列作为一种基础数据结构,其“先进先出”(FIFO)的核心原理是理解顺序处理和缓冲机制的关键。在算法领域,队列不仅是实现广度优先搜索(BFS)的载体,更是解决滑动窗口、数据流处理等问题的核心技术。掌握队列的实现与变种,能显著提升代码效率,为应对技术面试中的高频考点打下坚实基础。在实际工程中,队列的思想也延伸至消息队列等分布式系统组件,体现了数据结构到系统设计的贯通价值。本文聚焦队列在《剑指Offer II》中的经典应用,通过剖析滑动窗口、二叉树层序遍历等高频题目,结合Java集合框架中LinkedList、

weixin_30635053的博客 331

PTPX功耗分析实战——从脚本配置到报告解读

本文详细介绍了PTPX功耗分析的全流程,从脚本配置到报告解读,帮助工程师快速掌握芯片设计中的功耗估算技术。文章涵盖了环境搭建、波形文件处理、功耗报告解析等关键环节,并提供了实战经验和优化建议,特别适合需要提升PTPX功耗分析效率的开发者。

weixin_29248313的博客 282

【LeetCode】剑指 Offer 32 - II. 从上到下打印二叉树 II

剑指 Offer 32 - II. 从上到下打印二叉树 II

2022年毕业的萌新程序猿,输出一下自己的学习内容~ 413

qcom bypass node介绍

介绍qcom bypass node,以及如何让其生效

haodada1226的博客 2045

基于YOLOv12的焊接质量检测系统:从原理到实现的完整指南

python"""标准卷积块: Conv + BatchNorm + SiLU""""""跨阶段部分连接块"""])"""YOLOv12颈部网络 - 特征金字塔"""p3, p4, p5 = features # 不同尺度的特征图# 上采样路径x = self.csp1(x) # 中尺度特征y = self.csp2(y) # 小尺度特征# 下采样路径z = self.csp3(z) # 中尺度特征。

YOLO 186

Leetcode刷题笔记——剑指 Offer 32 - II. 从上到下打印二叉树 II(简单)

Leetcode刷题笔记——剑指 Offer 32 - II. 从上到下打印二叉树 II(简单)题目描述方法一:层序遍历BFS复杂度分析C++代码参考链接 题目描述 从上到下按层打印二叉树,同一层的节点按从左到右的顺序打印,每一层打印到一行。 例如: 给定二叉树: [3,9,20,null,null,15,7],返回其层次遍历结果: [ [3], [9,20], [15,7] ] 方法一:层序遍历BFS I. 按层打印:题目要求的二叉树的从上至下打印(即按层打印),又称为二叉树的广度优先搜索(BFS)。B

weixin_39739042的博客 330

QCM2290 PM-3 如何让mirco-usb支持关机充电

PM4125-3插入type-C触发开机进入关机充电的CC脚中断条件是否可以软件上屏蔽, 做到只通过VBUS中断即可触发进入关机充电模式,达到和PM4125-2的效果一样只要插入micro USB 就可以触发进入关机充电模式。硬件团队提议修改寄存器 SCHG_L_MISC_SYSOK_CFG 0x164A bit[4] 目前修改如下 — a/BOOT.XF.4.1/boot_images/QcomPkg/Library/PmicLib/target/Agatti_pmCocos/psi/pm_confi

墨染天玑的博客 444

每日一题 - 剑指 Offer 32 - II. 从上到下打印二叉树 II

每日一题 - 剑指 Offer 32 - II. 从上到下打印二叉树 II 题目信息 时间: 2019-06-25 题目链接:Leetcode tag: 队列 BFS 难易程度:简单 题目描述: 从上到下按层打印二叉树,同一层的节点按从左到右的顺序打印,每一层打印到一行。 示例1: 给定二叉树: [3,9,20,null,null,15,7], 3 / \ 9 20 / \ 15 7 返回其层次遍历结果: [ [3], [9,20

一只小菜鸡的博客 169

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

剑指 Offer 32 - II. 从上到下打印二叉树 II

力扣打卡:剑指 Offer 32 - II. 从上到下打印二叉树 II 解题思路 总体来分:二叉树的遍历分为深度优先和广度优先 深度优先 前序遍历 中序遍历 后序遍历 广度优先 层序遍历 深度优先常用的数据结构也就是栈,先进后出(递归进行实现) 广度优先常用的数据结构也就是队列,先进先出(迭代进行实现) 需要注意的点: Queue<TreeNode> que = new LinkedList<>(); 队列通过 LinkedList 来实现 int len = q

一抹阳光&的博客 101

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

剑指 Offer II 114. 外星文字典题解

一、题目描述 现有一种使用英语字母的外星文语言,这门语言的字母顺序与英语顺序不同。 给定一个字符串列表 words ,作为这门语言的词典,words 中的字符串已经 按这门新语言的字母顺序进行了排序 。 请你根据该词典还原出此语言中已知的字母顺序,并 按字母递增顺序 排列。若不存在合法字母顺序,返回 "" 。若存在多种可能的合法字母顺序,返回其中 任意一种 顺序即可。 示例 1: 输入:words = ["wrt","wrf","er","ett","rftt"] 输出:"wertf" 示例

m0_61355190的博客 7338

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

剑指力扣

剑指力扣 文章目录剑指力扣链表876 链表的中间结点(简单)剑指 Offer 06 从尾到头打印链表(简单)141 环形链表(简单)24. 两两交换链表中的节点(简单)2. 两数相加19. 删除链表的倒数第 N 个结点237. 删除链表中的节点(简单)61. 旋转链表(中等)数组剑指 Offer 03. 数组中重复的数字(简单)剑指 Offer 45. 把数组排成最小的数(中等)剑指 Offer 56 - II. 数组中数字出现的次数 II(中等)46. 全排列(中等)239. 滑动窗口最大值(困难)字符串

LivingMu的博客 360

剑指offer-31--34二叉树OJ题(C++)

二叉树OJ题I. 从上到下打印二叉树2.从上到下打印二叉树 II3.从上到下打印二叉树 III4.二叉搜索树的后序遍历序列 I. 从上到下打印二叉树 题目链接:https://leetcode-cn.com/problems/cong-shang-dao-xia-da-yin-er-cha-shu-lcof/ 这道题考察二叉树的层序遍历,也就是广度优先搜索(BFS),BFS通常借助队列先进先出的特点 基本步骤: 特例处理:树的根节点为空时,直接返回空列表 将根节点入队,打印结果列表ans BFS

weixin_45599288的博客 1802

剑指 Offer 32 - II. 从上到下打印二叉树 II(Python3解法)

使用队列求解二叉树的广度优先搜索(BFS)

weixin_43490422的博客 1383

(day17)剑指 Offer 32 - 从上到下打印二叉树

在最坏情况下,如果树是满的,则每一层将包含平均 b 个节点,其中 b 是每个节点的子节点数量。在最坏情况下,当搜索到树的最大深度时,空间复杂度为 O(bd)迭代或者O(d)递归,b是平均节点数目,其中 d 是树的深度((b-1)*d)->bd)。在广度优先搜索中,我们从起始节点开始,逐层地探索图中的节点,先探索距离起始节点最近的节点,然后是稍远一层的节点,依次类推。对于树或图来说, O(b^d) ,其中 b是每一层平均节点的数量,d 是树的层数。但它可能会占用较多的内存空间,特别是在图结构较大的情况下。

m0_54414851的博客 1425

LeetCode 剑指 Offer 55 - II. 平衡二叉树

LeetCode 剑指 Offer 55 - II. 平衡二叉树 文章目录题目描述一、解题关键词二、解题报告1.思路分析2.时间复杂度3.代码示例2.知识点总结 题目描述 输入一棵二叉树的根节点,求该树的深度。从根节点到叶节点依次经过的节点(含根、叶节点)形成树的一条路径,最长路径的长度为树的深度。 例如: 给定二叉树 [3,9,20,null,null,15,7], 3 / \ 9 20 / \ 15 7 返回它的最大深度 3 。 平衡二叉树 提示:

Datao_csdn的博客 138

力扣剑指Offer 第6天 搜索与回溯算法(简单)32 - I. 从上到下打印二叉树 & 32 - II. 从上到下打印二叉树 II & 32 - III. 从上到下打印二叉树 III

力扣剑指Offer 第6天 搜索与回溯算法(简单)剑指 Offer 32 - I. 从上到下打印二叉树 剑指 Offer 32 - II. 从上到下打印二叉树 II 剑指 Offer 32 - III. 从上到下打印二叉树 III 剑指 Offer 32 - I. 从上到下打印二叉树 题目 从上到下打印出二叉树的每个节点,同一层的节点按照从左到右的顺序打印。 例如: 给定二叉树: [3,9,20,null,null,15,7], 3 / \ 9 20 / \ 15 7

Ctrl_kun的博客 134

剑指 Offer II 105. 岛屿的最大面积(中等 图 dfs bfs 矩阵 数组)

剑指 Offer II 105. 岛屿的最大面积 给定一个由 0 和 1 组成的非空二维数组 grid ,用来表示海洋岛屿地图。 一个 岛屿 是由一些相邻的 1 (代表土地) 构成的组合,这里的「相邻」要求两个 1 必须在水平或者竖直方向上相邻。你可以假设 grid 的四个边缘都被 0(代表水)包围着。 找到给定的二维数组中最大的岛屿面积。如果没有岛屿,则返回面积为 0 。 示例 1: 输入: grid = [[0,0,1,0,0,0,0,1,0,0,0,0,0],[0,0,0,0,0,0,0,1,1,1

weixin_43942435的博客 267

剑指 Offer 32 - 二叉树的层序遍历

题目要求的二叉树的从上至下打印(即按层打印),又称为二叉树的广度优先搜索(BFS)。BFS通常借助队列的先入先出特性来实现。

庄小焱 351
上一篇: 【中等】238. 除自身以外数组的乘积
下一篇: 【广度优先遍历-中等】695. 岛屿的最大面积、剑指 Offer II 105. 岛屿的最大面积
菜菜2022
博客等级 码龄9年 67粉丝 1033原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值