自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(61)
  • 收藏
  • 关注

原创 蓝桥杯备考神器!题库电子资料 PDF 代码

蓝桥杯

2025-03-17 23:02:53 100

原创 NumPy 函数用法详解:np.full 和 np.concatenate

np.full:快速生成固定值数组,适用于初始化或占位 [[3]][[8]]。:灵活合并数组,需注意形状和轴方向的匹配 [[7]][[9]]。通过这两个函数,可以高效完成数组的创建与操作,是科学计算和数据分析中的常用工具。

2025-03-16 21:03:07 211

原创 Python正则表达式完全指南:从入门到精通

正则表达式(Regular Expression)是用于匹配和处理文本的强大工具,通过特定语法规则实现:文本搜索与匹配数据验证(邮箱、电话等)文本替换与清洗复杂模式提取文本分割Python通过内置的re模块提供正则支持,我们先导入模块:python复制import re。

2025-03-10 21:45:21 960

原创 pandas——to_datatime用法

通过format参数显式指定日期格式(提升解析效率):Python复制date_str = "08-03-2024" # 格式为 DD-MM-YYYYprint(date) # 输出:2024-03-08 00:00:00引用。

2025-03-08 16:30:18 116

原创 集合中difference和difference_update方法的区别

difference() 方法用于返回集合的差集,即返回的集合元素包含在第一个集合中,但不包含在第二个集合中” [[8]]。“difference_update 会直接修改原集合,移除与另一个集合的交集” [[10]]。“取出两个集合的差集:集合1.difference(集合2)” [[4]][[7]]。“消除差集后,集合1结果:{2, 3}” [[7]]。可用于节省内存(避免创建新集合)[[10]]。:返回两个集合的差集(即仅保留。

2025-03-08 14:55:26 384

原创 知识卡片1——pandas——data.info( )

是 Pandas 库中的一个方法,用于快速查看 DataFrame 的基本信息。它可以帮助你了解数据集的结构、数据类型以及是否存在缺失值等关键信息。这个方法在数据分析和数据清洗阶段非常有用。

2025-03-05 16:34:54 39

原创 sort_values、sort 和 sorted 的区别与用法详解

特性sortsorted适用对象Pandas 的Series或DataFrame列表(list任何可迭代对象是否修改原数据默认不修改(可通过修改)直接修改原列表不修改原数据返回值排序后的新对象无返回值(原地修改)排序后的新对象复杂排序支持支持按列或多列排序不支持复杂排序支持自定义排序规则(通过key性能高效处理大规模数据适合小规模列表更通用,但可能稍慢:Pandas 专用,适合处理表格数据。sort:列表专用,原地排序。sorted:通用性强,适合所有可迭代对象,且不修改原数据。

2025-02-25 22:54:13 837

原创 Python 3.11 69 个内置函数(完整版)

调试断点(Python 3.7+)返回对象唯一标识符(内存地址)退出程序(交互式环境专用)返回对象可打印的字符串表示。判断对象是否是某类型实例。判断类是否是某类的子类。并行遍历多个可迭代对象。列出对象所有属性和方法。返回对象官方字符串表示。判断可迭代对象是否全为。判断可迭代对象是否存在。动态导入模块(底层实现。转换为十六进制字符串。对可迭代对象应用函数。

2025-02-25 22:40:37 1067

原创 数据分析——Pandas 中的 apply() 函数

apply()对数据集的某一部分(行、列、分组)执行自定义函数,并将结果自动整合返回。调用对象行为Series对每个元素执行函数DataFrame对每列(默认axis=0)或每行(axis=1)执行函数GroupBy 对象对每个分组执行函数,结果自动合并核心价值apply()的灵活性使其成为处理复杂逻辑的首选工具。最佳实践:优先使用向量化操作,仅在必要时使用apply()。进阶方向:结合lambda、自定义函数和分组操作,解决真实业务问题。通过本文的学习,你应该能熟练使用apply()

2025-02-25 22:02:37 1246

原创 Python Seaborn库使用指南:从入门到精通

本文详细介绍了 Seaborn 的基本概念、常用功能以及高级用法。通过学习本文,你应该能够熟练使用 Seaborn 进行数据可视化。如果你希望进一步提升数据可视化能力,可以探索 Matplotlib、Plotly 等其他可视化库。📊。

2025-02-24 22:39:12 1065

原创 Python NumPy库使用指南:从入门到精通

本文详细介绍了 NumPy 的基本概念、常用功能以及高级用法。通过学习本文,你应该能够熟练使用 NumPy 进行数值计算和数据分析。如果你希望进一步提升科学计算能力,可以探索 Pandas、Matplotlib、SciPy 等库的结合使用。🧮。

2025-02-24 22:36:19 942

原创 Python Pandas库使用指南:从入门到精通

本文详细介绍了 Pandas 的基本概念、常用功能以及高级用法。通过学习本文,你应该能够熟练使用 Pandas 进行数据处理和分析。如果你希望进一步提升数据分析能力,可以探索 NumPy、Matplotlib、Seaborn 等库的结合使用。📊。

2025-02-24 22:33:31 442

原创 Python Matplotlib库使用指南:从入门到精通

Matplotlib 提供了多种内置样式,也可以自定义样式。Python复制# 使用内置样式# 数据# 创建图形# 添加标题和标签# 显示图例# 显示图形plt.show()'default''classic''ggplot''seaborn'本文详细介绍了 Matplotlib 的基本概念、常用功能以及高级用法。通过学习本文,你应该能够熟练使用 Matplotlib 绘制各种类型的图表,并根据需求进行个性化定制。

2025-02-24 22:29:44 760

原创 Python 爬虫入门:从基础到实战

定义:爬虫是一种自动化程序,用于从互联网上抓取数据。用途数据采集(如新闻、商品信息)数据分析(如市场趋势、用户行为)自动化任务(如监控网站更新)通过以上内容,你已经掌握了 Python 爬虫的基础知识和实战技巧。接下来可以尝试更多复杂的项目,如爬取电商网站、社交媒体数据等。祝你学习愉快!如果有任何问题,欢迎随时提问!希望这篇整理后的文章能够满足你的需求!如果还有其他修改意见,比如增加更多细节、调整格式等,随时告诉我。

2025-02-19 00:17:32 1265

原创 (蓝桥杯——10. 小郑做志愿者)洛斯里克城志愿者问题详解

小郑是一名大学生,她决定通过做志愿者来增加自己的综合分。她的任务是帮助游客解决交通困难的问题。洛斯里克城是一个六朝古都,拥有 N 个区域和古老的地铁系统。地铁线路覆盖了树形结构上的某些路径,游客会询问两个区域是否可以通过某条地铁线路直达,以及有多少条这样的线路。小郑需要快速回答这些问题,否则可能会失去志愿者工时。每条地铁线路覆盖了树上某两点之间的最短路径。对于任意两点 u 和 v,可以通过向上跳转的方式找到它们的最近公共祖先(LCA)。希望这篇文章能帮助你理解这道题的解法!如果还有疑问,请随时提问!

2025-02-18 22:21:12 999

原创 (算法基础——树)——python树结构使用指南

树是一种非线性数据结构,常用于解决层次化数据问题(如路径搜索、二叉树遍历等)。掌握以上内容后,可以覆盖蓝桥杯中80%的树相关题目!如果需要更具体的题目解析或优化技巧,请随时告诉我!

2025-02-17 23:19:24 369

原创 算法练习(力扣-BFS)——102. 二叉树的层序遍历

Python复制这是二叉树节点的定义,每个节点包含一个值val和两个指针left和right,分别指向左子节点和右子节点。通过使用队列实现 BFS,我们可以轻松地完成二叉树的层序遍历。每层的节点值按顺序加入结果列表,最终返回一个二维列表。希望这个解析对你有帮助!如果有任何问题,欢迎随时提问。

2025-02-17 22:30:10 497

原创 BFS广度优先搜索——994.腐烂的橘子

通过 BFS 逐层处理腐烂橘子,精确模拟感染过程并统计时间。代码通过队列管理腐烂橘子,利用判断是否全部腐烂,最终返回结果。此方法高效且直观,是处理网格扩散问题的经典方案。

2025-02-17 21:14:28 600

原创 Python队列模块全解析:从线程间通信到高效双端队列

Python通过不同的队列实现,为开发者提供了灵活的选择空间。理解各队列类型的设计哲学和实现原理,能够帮助我们在实际开发中做出最优选择。无论是处理高并发请求、实现高效算法,还是构建分布式系统,正确使用队列都将显著提升程序的健壮性和执行效率。

2025-02-17 20:19:03 338

原创 深入理解栈与队列:算法学习者的必备指南

【代码】深入理解栈与队列:算法学习者的必备指南。

2025-02-08 20:22:34 389

原创 (算法竞赛)图论+DFS深搜——图的dfs遍历1

时间复杂度:邻接矩阵的DFS时间复杂度为 O(n²),本题顶点数较小(n ≤ 15),完全可行。空间复杂度:使用邻接矩阵存储图,空间复杂度为 O(n²)。递归特点:代码简洁,但需注意递归深度。本题数据规模下无需担心栈溢出。此解法严格遵循DFS的遍历规则,并通过编号顺序确保邻接点的访问顺序,适合初学者理解DFS的基本原理。

2025-02-06 22:08:24 518

原创 数据结构与算法之图(Graph)详解

图(Graph)是由**顶点(Vertex)和边(Edge)**组成的非线性数据结构,用于表示多对多关系。G = (V, E)V:顶点集合(Nodes)E:边集合(Edges)维度DFSBFS数据结构栈(递归/显式栈)队列空间复杂度O(h)(h为树高)O(w)(w为最大宽度)适用场景路径存在性检测、拓扑排序最短路径、层次遍历解的特点可能找到非最优解保证找到最短路径(无权图)学习建议理解两种搜索的本质区别掌握邻接表/矩阵的转换方法熟练使用队列和栈的实现。

2025-02-06 21:29:14 1184

原创 (算法竞赛)使用广度优先搜索(BFS)解决迷宫最短路径问题

Python复制# 定义方向数组dx = [0, 0, 1, -1] # 行变化(右、左、下、上)dy = [1, -1, 0, 0] # 列变化这两个数组定义了四个可能的移动方向:右、左、下、上。通过索引i,可以从dx和dy中获取对应方向的行和列偏移量。本文通过详细解析基于 BFS 的代码,展示了如何高效地解决迷宫最短路径问题。BFS 的逐层扩展特性使其成为解决此类问题的理想选择。通过合理使用队列和访问标记数组,代码能够高效地找到从起点到终点的最短路径,而不会出现超时问题。

2025-01-24 23:06:30 1189

原创 (算法竞赛)DFS深搜5——卒的遍历问题解析与代码实现

这段代码通过深度优先搜索(DFS)递归实现了从棋盘左上角到右下角的所有路径搜索,并为每条路径编号。它展示了递归算法在路径搜索问题中的应用,同时体现了回溯机制的重要性完整代码# 如果到达右下角,输出路径并返回return count+1 # 返回下一个路径编号# 标记当前格子为已访问# 尝试向下或向右移动# 回溯,撤销当前格子的访问标记return count # 返回当前路径编号# 输入棋盘大小# 初始化方向数组(向下和向右)# 初始化访问标记数组# 从左上角开始搜索,初始路径编号为1。

2025-01-24 21:17:26 335

原创 (算法竞赛)DFS深搜4——迷宫第一条路问题解析与代码实现

这段代码通过深度优先搜索(DFS)递归实现了从迷宫入口到出口的路径搜索。它利用了递归的回溯机制,避免了重复访问格子,并通过方向数组实现了按顺序搜索。完整代码# 如果到达右下角,输出路径并返回# 标记当前格子为已访问# 将当前格子加入路径# 如果当前路径不可行,回溯# 输入迷宫大小# 输入迷宫矩阵# 初始化访问标记数组# 从左上角开始搜索。

2025-01-24 21:10:18 661

原创 (算法竞赛)DFS深搜3——数池塘问题解析与代码实现

这道题考察了深度优先搜索(DFS)的应用,适用于解决连通块计数问题。通过递归实现DFS,可以高效地标记每个池塘中的所有积水格子,并统计池塘的数量。希望这篇文章能帮助你更好地理解和解决类似问题。

2025-01-22 19:14:25 448

原创 (算法竞赛)DFS深搜2——迷宫出口问题解析与代码实现

如果起点或终点有一个不能通行(值为 1),则认为无法到达。最后一行包含四个整数 ha,la,hb,lb,分别表示起点 A 的行和列,终点 B 的行和列。:使用队列实现,更适合迷宫路径搜索,可以找到最短路径(虽然本题不需要最短路径)。这是一个典型的迷宫路径搜索问题,可以通过**深度优先搜索(DFS)第一行是一个正整数 n(1≤n≤100),表示迷宫的规模。接下来是一个 n×n 的矩阵,矩阵中的元素为 0 或 1。如果起点或终点的值为1(表示不能通行),直接输出。:如果起点或终点为 1(不能通行),直接输出。

2025-01-22 19:05:19 890

原创 (算法竞赛)深搜与回溯1——扫地机器人问题解析与代码实现

通过模拟机器人的移动规则,我们可以高效地生成清扫顺序。:这是一个经典的“深度优先搜索”(DFS)问题,机器人按照特定规则在网格中移动,类似于“螺旋矩阵”的生成。机器人从 (1,1) 开始,依次向右移动,清扫顺序为 1, 2, 3, 4。要求输出清扫完成后的网格,其中每个位置的值表示机器人清扫该位置的顺序。如果当前位置的右边(同一行,下一列)没有被清扫过,它会向右移动。,并初始化所有值为 0。一个 n×m 的网格,每个位置的值表示机器人清扫该位置的顺序。无法向右移动时,向下移动,清扫顺序为 5。

2025-01-20 21:06:04 496

原创 《递归算法:原理剖析与典型例题精解》

递归算法是一种在编程中常用的算法思想,它通过函数自身调用自身来解决问题。递归算法的核心在于将一个复杂问题分解为多个相对简单的子问题,这些子问题的结构与原问题相同,只是规模更小。当子问题的规模小到一定程度时,可以直接求解,这就是递归的“基例”。递归算法的执行过程可以分为两个阶段:递推阶段和回归阶段。在递推阶段,问题规模不断缩小,函数不断调用自身,直到达到基例;在回归阶段,从基例开始逐步向上求解,最终得到原问题的解。

2025-01-20 20:38:16 1327

原创 《贪心算法:原理剖析与典型例题精解》

贪心算法是一种在每一步选择中都采取当前状态下最优(即最有利)的选择,从而希望导致结果是全局最优的算法。它的核心思想是“贪心”,即在解决问题的过程中,总是做出局部最优的选择,希望通过一系列局部最优的选择来达到全局最优解。举个简单的例子,假设你面前有一堆硬币,有1元、5角、1角等不同面值,现在需要凑出3元7角。贪心算法的思路就是先选择面值最大的硬币,也就是1元硬币,尽可能多地拿,直到不能再拿为止。然后选择次大的5角硬币,继续尽可能多地拿……按照这种贪心的策略,最终可以凑出所需的金额。

2025-01-17 23:45:09 1644

原创 算法(蓝桥杯)贪心算法7——过河的最短时间问题解析

过河的最短时间问题是一个典型的优化问题,通过合理安排过桥顺序,可以有效减少总时间。在解决此类问题时,需要仔细分析不同策略的优劣,并通过编程实现最优解。希望本文的解答和代码分析能帮助你更好地理解和解决这个问题。

2025-01-17 23:44:17 2959

原创 算法(蓝桥杯)贪心算法6——均分纸牌问题的解题思路与代码实现

通过从左到右依次调整每一堆纸牌的数量,确保每一堆纸牌的数量达到目标数量,可以有效地找到使每堆纸牌数量相同的最小移动次数。这种方法的时间复杂度为O(n),其中n是堆数,因为每个堆只会被处理一次。希望这个解释能帮助你更好地理解这个问题的解法。如果有任何疑问,欢迎继续提问。

2025-01-17 22:00:02 613

原创 算法(蓝桥杯)贪心算法5——删数问题的解题思路

通过维护一个单调递增的栈,我们可以有效地找到删除s个数字后得到的最小数。这种方法的时间复杂度为O(n),其中n是输入数字的长度,因为每个数字最多只会被入栈和出栈一次。希望这个解释能帮助你更好地理解这个问题的解法。如果有任何疑问,欢迎继续提问。

2025-01-17 20:41:43 580

原创 算法(蓝桥杯)贪心算法3——二维数组排序与贪心算法——活动选择

这段代码通过读取用户输入的二维数组,按照数组的第二列进行排序,然后根据特定条件(第一个元素不小于前一个满足条件的元素的第二个值,且第二个值不为0,若为0则视为24)对数组中的元素进行计数,最终输出满足条件的元素数量。这种处理方式在一些特定的业务场景中非常实用,例如在处理时间区间、资源分配等问题时,可以根据特定的排序和计数规则来得到所需的结果。

2025-01-16 22:04:45 1218

原创 算法竞赛(蓝桥杯)贪心算法2——需要安排几位师傅加工零件

通过降序排序和逐步求和的方法,我们可以高效地找到一个子集,使其和尽可能接近但不超过目标和m。这种方法的时间复杂度为 O(n log n),主要由排序操作决定。希望这篇文章能帮助你更好地理解这段代码的工作原理和实现细节。如果有任何问题,欢迎继续提问。

2025-01-15 23:36:15 399

原创 算法竞赛(蓝桥杯)贪心算法1——数塔问题

通过自底向上的动态规划方法,我们可以高效地求解数字三角形的最大路径和。这种方法的时间复杂度为 O(n^2),适用于处理较大规模的数字三角形。希望这篇文章能帮助你更好地理解这段代码的工作原理和实现细节。完整代码a=[]for j in range(i+1):# 确保遍历第j行有i个元素,因为range(0)无法进入循环。

2025-01-15 22:45:53 3159

原创 算法竞赛(蓝桥杯)前缀和差分——小 X 与煎饼达人(flip)

这段代码通过差分数组和前缀和的技巧,高效地处理了区间更新操作,并统计了数组中奇数的数量。翻的次数为偶数则说明处于原理的状态,翻的次数为奇数则说明为原来的状态的反面,这种方法在处理大量数据时具有显著的性能优势。

2025-01-15 21:46:20 461

原创 (蓝桥杯)使用差分数组和前缀和解决区间更新问题——倒水

通过使用差分数组和前缀和,我们可以高效地进行区间更新操作。差分数组允许我们在 O(1) 时间内完成每次区间更新,而前缀和则可以在 O(n) 时间内还原出最终的数组。这种方法的时间复杂度为 O(n + k),适用于大规模数据。

2025-01-15 01:02:43 1220

原创 (蓝桥杯)使用前缀和与二分查找解决子数组和问题——不太甜的糖果

check通过前缀和和二分查找,我们可以高效地解决子数组和问题。前缀和数组帮助我们快速计算子数组的和,而二分查找则帮助我们高效地找到最短的满足条件的子数组。这种方法的时间复杂度为 O(n log n),适用于大规模数据。

2025-01-14 22:24:19 280

原创 (蓝桥杯)二维数组前缀和典型例题——子矩阵求和

张老师问了小 A 同学 k 个问题,每个问题会先告知小 A 同学 4 个数 x1,y1,x2,y2画出一个子矩阵,张老师请小 A同学计算出这个子矩阵中所有数的和。小 A 同学有着很强的计算能力,张老师为了检验小 AA同学的计算能力,写了一个 n 行 m 列的矩阵数列。是一个更底层的输入函数,它直接从标准输入读取一行数据,并返回一个字符串,包括行尾的换行符。是一个更底层的输出函数,它直接将字符串写入标准输出,不会自动添加换行符。使用起来非常方便,但在处理大量输入数据时,它的性能可能会比较差。

2025-01-14 01:09:04 959

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除