自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 python检查当前单元格的内容是否只由字母和数字组成

综上所述,这一行代码是在检查当前单元格的内容是否只由字母和数字组成。如果有其他字符,比如符号或空格,就会导致条件为。中的内容是否只包含字母和数字。是一个正则表达式匹配的条件语句。,进而执行相关逻辑(可能返回。因此,整个正则表达式。

2024-09-19 13:27:35 144

原创 `re.compile(r“(<.*?>)“)` 如何有效地从给定字符串中提取出所有符合 `<...>` 格式的引用

通过这个例子,我们可以看到>)")如何有效地从给定字符串中提取出所有符合格式的引用。这个正则表达式非常有用,特别是在需要从文本中解析或提取特定格式的内容时。

2024-09-19 12:28:54 286 1

原创 双指针的用法以及示例

基本概念双指针技术使用两个指针在数据结构上进行遍历,通常用于解决与子数组、子序列、区间等相关的问题。常见类型滑动窗口:用于查找满足特定条件的子数组或子串,通常涉及到动态调整两个指针的位置。对撞指针:用于从两端向中间逼近,常用于排序数组的查找、配对等问题。滑动窗口的步骤初始化:设置两个指针(通常是left和right)和一个窗口的状态(如和、长度等)。扩展窗口:移动right指针,增加窗口的大小,更新窗口状态。收缩窗口:当窗口状态不满足条件时,移动left指针,减小窗口的大小,直到满足条件。

2024-09-15 11:52:51 292

原创 会议室占用【python实现】

【代码】会议室占用【python实现】

2024-09-14 12:47:10 139

原创 体育场座位【python实现】

【代码】体育场座位【python实现】

2024-09-13 18:03:08 183

原创 找出作弊的人【python实现】

如果当前分数差小于已知的最小分数差,则更新最小分数差并重置结果列表。如果当前分数差等于最小分数差,则将这一对添加到结果列表中。所有具有该最小分数差的员工对,确保员工ID按升序排列。:读取员工ID和分数,并按分数排序。遍历员工,计算相邻员工之间的分数差。

2024-09-13 12:22:43 153

原创 山峰个数【python实现】

【代码】山峰个数【python实现】

2024-09-12 18:54:49 173

原创 python如何把输入100变成整数型列表

【代码】python如何把输入100变成整数型列表。

2024-09-12 16:34:45 376

原创 计算正方形数量

程序通过输入坐标,使用双重循环遍历所有可能的点对并基于向量旋转的方法来检测是否能形成正方形,最后返回正方形的总数。这种方法使用集合来提高查找效率,确保算法的性能。

2024-09-12 13:24:55 612

原创 流浪地球发动机

内关联:直接相邻的距离,计算为abs(i - j)。外关联:绕过环的另一侧的距离,计算为。在每次计算时,选择内关联和外关联中的最小值,以确保启动时间的最优化。这个双重循环用于计算每个发动机的最早启动时刻。当i = 2(发动机 2 启动时刻为 0)时:j = 0:内关联距离为,外关联距离为8 - 2 = 6,最短距离为 2。j = 1:内关联距离为,外关联距离为8 - 1 = 7,最短距离为 1。j = 3:内关联距离为,外关联距离为8 - 1 = 7,最短距离为 1。j = 4:内关联距离为。

2024-09-11 16:59:30 1059

原创 257. 二叉树的所有路径

总结:这个类通过深度优先搜索(DFS)算法遍历二叉树,找到所有从根到叶子节点的路径,并以字符串形式返回这些路径。这段代码定义了一个用于遍历二叉树并找到从根节点到所有叶子节点路径的类。:这段代码假设已存在一个二叉树节点的类,通常结构为。

2024-08-25 02:41:43 327

原创 层序遍历python

层序遍历函数返回整个树的每层节点,适合需要图结构的使用场景。右侧视图函数只返回每一层的最后节点,适合特定的可视化或某些搜索需求。两者代码的结构非常相似,但处理的逻辑和目标输出是不同的,具体选择哪个功能取决于你的需求。

2024-08-23 14:54:20 400

原创 如何理解迭代遍历

这段代码实现了二叉树的前序遍历(Pre-order Traversal),使用了迭代的方式。这种遍历顺序是:首先访问根节点,然后访问左子树,最后访问右子树。总体上,这段代码使用栈结构模拟递归的方式,以迭代的方式实现了二叉树的前序遍历,保证了在处理节点时能够按照根、左、右的顺序访问。当栈为空时,结束循环,返回结果列表,其中包含了按照前序遍历顺序访问的节点值。如果根节点为空,返回一个空列表,表示没有节点可遍历。将右子节点压入栈中,确保在左子节点之前被处理。如果为空,执行下一行。创建一个栈,并将根节点压入栈中。

2024-08-22 18:58:47 410

原创 如何理解递归

在二叉树的题目中,我们难免会用到递归方法,递归思想很简单,但运用起来却因为抽象而难以理解。理解递归的关键在于认识到它是一种解决问题的方法,允许函数直接或间接地调用自身。

2024-08-22 17:42:23 1113

原创 116. 填充每个节点的下一个右侧节点指针

代码来自代码随想录,具体见此链接我们从输入【1, 2, 3, 4, 5, 6, 7】构建的完整二叉树如下:执行过程我们定义一个 方法用于连接树中每个节点的 指针。以下是执行的详细步骤:初始化:第一层遍历(连接节点 的 指针):第二层遍历(连接节点 和 的 指针):第三层遍历(连接节点 、、 和 的 指针):结束:经过上述步骤后,连接后的树结构如下:每个节点的 指针连接到了同一层的下一个节点,最后一个节点的 指针指向 。 的实现通过在树的最后一层,为每个节点的 指针赋值为

2024-08-20 17:56:21 957

原创 二叉树中序迭代遍历python

这段代码通过栈实现了二叉树的中序遍历。中序遍历的顺序为:先访问左子树,再访问根节点,最后访问右子树。该算法的时间复杂度为 O(n),空间复杂度为 O(h),其中 n 是节点总数,h 是树的高度。

2024-08-20 13:00:09 434

原创 前中后序遍历python

在方法中的dfs函数中,return语句的作用是在当前递归层级中结束函数的执行。当node是None时,表示该节点为空,执行return后将不再执行dfs内接下来的代码。: 当你在遍历树时,当前节点(node)可能是一个实际的节点,也可能是None。如果它是None,就表示这个分支已经没有更多的子节点(即到达了一片空地或叶子节点的下方)。returnnodeNonereturndfs: 当当前的dfs调用结束后,程序会返回到上一个调用的地方,继续执行调用之后的代码(例如,访问右子树或返回父节点)。

2024-08-20 00:55:43 1003

原创 209.长度最小的子数组

该算法的时间复杂度为 O(n),空间复杂度为 O(1),高效地找到和大于或等于s的最短子数组长度。

2024-08-15 17:34:12 368

原创 python实现977.有序数组的平方

这段代码实现了一个函数 sortedSquares,它接受一个整数列表 nums 作为输入,并返回该列表中每个数字的平方,且结果是升序排列的。k: 用于追踪结果数组 res 中要插入元素的位置,初始化为 len(nums) - 1(即数组的最后一个索引)。如果左侧平方小于右侧平方,则将右侧平方存入 res[k],并将 r 向左移动(减少1)。r: 用于指向列表的右侧(最大值)开始的位置,初始化为 len(nums) - 1。否则,将左侧平方存入 res[k],并将 l 向右移动(增加1)。

2024-08-15 16:39:34 292

原创 203 移除链表元素

具体思路见代码随想录这段代码实现了一个从单链表中删除特定值节点的功能,它使用了“虚拟头节点法”。下面我将逐步解释代码中的每个部分及其细节。类和方法定义:这里定义了一个 类,表示单链表的节点。每个节点包含两个属性:(节点的值)和 (指向下一个节点的引用)。 类中定义了 方法,该方法接受链表的头节点 和要删除的值 。创建虚拟头节点:创建一个(虚拟头节点),它的 指向原始链表的 。使用虚拟头节点可以简化处理头节点本身可能被删除的情况。遍历链表:这里使用一个 指针来遍历链表,从 开始。 只

2024-08-14 12:11:53 930

原创 华为od统一考试B卷【AI面板识别】python实现

【代码】华为od统一考试B卷【AI面板识别】python实现。

2024-08-13 16:19:34 569

原创 python将对象存储在一个列表中

使用面向对象的方法来管理数据,不仅能提高代码的可读性和可维护性,还能使开发过程更高效、组织更清晰。这个方法在大规模应用程序和项目中特别重要,能够帮助开发者高效地处理复杂的系统。

2024-08-13 12:42:04 364

原创 python[:] 进行切片操作可以创建一个列表的浅拷贝

在 Python 中,使用[:]进行切片操作可以创建一个列表的浅拷贝。具体来说,的作用是将lights列表的所有元素复制到一个新的列表中。

2024-08-13 12:08:40 314

原创 华为od统一考试B卷【比赛】python实现

整体逻辑是:先读取和验证输入,然后读取评分数据,计算每位选手的总得分和分数分布,进行排序,并最终输出前 3 名选手的编号。任何时候只要发现不合规的输入,都会及时输出-1,确保程序的健壮性。这个流程确保了程序按照规范格式处理评分并输出合规的结果。通过以上步骤,我们处理了输入数据并找出了得分最高的选手,确保了每一步有合理的错误处理和有效的结果输出。这种流程确保系统能够有效地运行并给出准确的结果。

2024-08-12 16:51:22 1091

原创 华为od统一考试B卷【选修课】python 实现

main该程序通过从两个不同课程的数据合并,输出每个班级的学生 ID,按照总分排序。

2024-08-12 14:37:38 686

原创 使用 Python 的 sorted() 函数按班级升序、分数降序和学号升序排序学生数据

【代码】使用 Python 的 sorted() 函数按班级升序、分数降序和学号升序排序学生数据。

2024-08-12 13:38:20 291

原创 2024华为od机试C卷【攀登者1】python实现

用于计算满足条件的元素个数。你可以将任何整数数组传递给它,输出将会是大于其相邻两个数的元素的计数。

2024-08-12 10:36:15 488

原创 2023华为od机试C卷【围棋的气】python实现

这段代码的功能是计算给定黑色和白色棋子的位置,通过对棋盘的有效邻接位置进行遍历,最终输出各自可达到的有效位置总数。通过matrix标记每个棋子能到达的有效位置,并确保这些位置不是已经被占用。

2024-08-11 22:04:57 393

原创 力扣224. 基本计算器(python实现)

这段代码定义了一个名为Solution的类,其中包含一个名为calculate的方法。该方法的目的是计算一个字符串表示的简单算术表达式,支持加法、减法以及括号。初始化变量res:用于保存当前计算结果,初始值为0。num:用于保存当前数字,初始值为0。sign:用于记录当前的符号,初始值为1(表示正号)。stack:用于存储之前的结果和符号,辅助处理括号。遍历字符串循环读取字符串s中的每个字符c。处理数字如果c是数字,则更新num,通过将num乘以10并加上当前数字,构建一个完整的数字。

2024-08-11 14:03:40 402

原创 力扣227题基本计算器II(Python实现)

这段代码定义了一个名为 的类,并实现了一个方法 ,用于计算给定数学表达式的值。以下是具体解释:类与方法定义:初始化:遍历字符串:操作符处理:返回结果:总结:这段代码通过栈实现了对基本四则运算的支持,能够处理带有不同操作符的数学表达式,并正确计算结果。下面以 3-5/2为例解释具体执行流程让我们详细分析如何通过 方法计算表达式 的执行流程。执行流程初始化遍历字符串因此,表达式 的计算结果是 。

2024-08-09 13:57:30 712

原创 2023华为od机试C卷【符号运算/求分数计算结果】Python实现

此代码有效地处理基本的算术运算(加、减、乘、除),管理运算符优先级和括号,并确保结果以分数形式返回,保持计算的准确性。

2024-08-08 19:28:31 275

原创 用python实现求两个整数的最大公约数

这个gcd函数实现了求两个整数的最大公约数。通过反复取余的方式逐步逼近这个值,直到其中一个数为零。最终返回的就是它们的最大公约数。这一算法的效率很高,时间复杂度为 O(log(min(a, b)))。我们来计算 8 和 6 的最大公约数(GCD),使用前面提到的gcd函数。与之前的示例相同,我们通过不断取模的方法逐步缩小问题的规模。最终,我们得到了这两个数的最大公约数,即 2。计算 6 和 8 的最大公约数(GCD)与计算 8 和 6 的过程非常相似,因为最大公约数的顺序并不影响结果。

2024-08-08 15:29:15 369

原创 如何用python实现将中缀表达式改成后缀表达式

最终的结果是一个符号列表,这对于后续的分析(比如计算或转换为后缀表达式)是非常有用的。这样的处理可以帮助解析数学表达式,使得每个操作符和操作数都能被单独识别。

2024-08-08 14:39:51 824

原创 小顶堆实现查找前 K 个高频元素

这段代码有效地找出了数组中出现频率最高的前K个元素,使用字典统计频率,并利用小顶堆保持高频元素的排序,最终返回结果。在这个代码片段中,使用了一个固定大小为k的小顶堆来维护频率最高的k个元素。

2024-08-07 15:46:25 797

原创 heapq.heapify构建小顶堆的流程

的作用是将一个列表变为小顶堆,其核心在于“下沉”操作,确保每个父节点的值都小于或等于任何子节点的值。这种操作的时间复杂度为 O(n)。完成后,你可以通过等操作获取元素,仍然会保持堆的特性。

2024-08-07 15:01:07 467

原创 heapq.heappush(pri_que, (freq, key)) 是按照 freq 进行堆排序的吗?

是的,是按照freq进行堆排序的。

2024-08-07 14:57:22 237

原创 heapq.heappush(pri_que, (freq, key)) 是按照 freq 进行堆排序的吗?

是的,是按照freq进行堆排序的。

2024-08-07 14:06:55 131

原创 滑动窗口最大值

MyQueueSolution这段代码通过维护一个单调递减的队列,能够高效地找到滑动窗口内的最大值。使用deque提高了操作的效率,避免了使用list时可能出现的超时问题。双端队列(Deque)是一种数据结构,允许在两端进行高效的插入和删除操作。它可以被视为一种特殊的队列,支持在队列的前端和后端同时进行操作。

2024-08-07 11:46:53 393

原创 波兰表达式求值

所以,针对异号的情况,使用是为了确保结果向零取整,而不是向下取整,从而得到符合期望的整数结果。

2024-08-05 23:26:55 787

原创 双指针实现删除字符串中的所有相邻重复项

这段代码实现了一个去除字符串中相邻重复字符的功能,具体方法是使用双指针来模拟栈的操作。总体来说,这个方法通过双指针的方式,有效地处理了字符串中的相邻重复字符,具有较好的性能。的部分合并成一个字符串并返回,得到去除相邻重复字符后的结果。作为输入,返回去除相邻重复字符后的字符串。的类,其中包含一个名为。我们来详细分析一下输入为。,成功去除了输入字符串。

2024-08-05 22:32:53 619

空空如也

空空如也

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

TA关注的人

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