自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 代码随想录算法训练营第二十四天|93.复原IP地址、78.子集、90.子集Ⅱ

其中可能包含重复元素,请你返回该数组所有可能的 子集(幂集)。,用以表示一个 IP 地址,返回所有可能的。返回的解集中,子集可以按。返回该数组所有可能的子集(幂集)。正好由四个整数(每个整数位于。之间组成,且不能含有前导。给定一个只包含数字的字符串。,这些地址可以通过在。

2025-04-04 18:13:31 588

原创 代码随想录算法训练营第二十三天|39.组合总和、40.组合总和Ⅱ、131.分割回文串

如果至少一个数字的被选数量不同,则两种组合是不同的。中的每个数字在每个组合中只能使用。分割成一些 子串,使每个子串都是。,并以列表形式返回。中可以使数字和为目标数。对于给定的输入,保证和为。给定一个候选人编号的集合。解集不能包含重复的组合。中所有可以使数字和为。所有可能的分割方案。

2025-04-03 22:57:01 666

原创 代码随想录算法训练营第二十二天|77.组合、216.组合总和Ⅲ、17.电话号码的字母组合

给出数字到字母的映射如下(与电话按键相同)。注意 1 不对应任何字母。该列表不能包含相同的组合两次,组合可以以任何顺序返回。的字符串,返回所有它能表示的字母组合。所有可能的有效组合的列表。

2025-04-02 23:08:40 843

原创 代码随想录算法训练营第二十一天|669.修剪二叉搜索树、108.将有序数组转换为二叉搜索树、538.把二叉搜索树转换为累加树

改变保留在树中的元素的相对结构 (即,如果没有被移除,原有的父代子代关系都应当保留)。树的根节点,该树的节点值各不相同,请你将其转换为累加树(Greater Sum Tree),使每个节点。所以结果应当返回修剪好的二叉搜索树的新的根节点。注意,根节点可能会根据给定的边界发生改变。排列,请你将其转换为一棵 平衡 二叉搜索树。通过修剪二叉搜索树,使得所有节点的值在。的新值等于原树中大于或等于。给你二叉搜索树的根节点。

2025-04-01 17:46:53 503

原创 代码随想录算法训练营第二十天|235.二叉搜索树的最近公共祖先、701.二叉搜索树中的插入操作、450.删除二叉搜索树的节点

对应的节点,并保证二叉搜索树的性质不变。返回二叉搜索树(有可能被更新)的根节点的引用。,可能存在多种有效的插入方式,只要树在插入后仍保持为二叉搜索树即可。,将值插入二叉搜索树。返回插入后二叉搜索树的根节点。给定一个二叉搜索树, 找到该树中两个指定节点的最近公共祖先。,新值和原始二叉搜索树中的任意节点值都不同。给定二叉搜索树(BST)的根节点。给定一个二叉搜索树的根节点。,删除二叉搜索树中的。根据值的比较移动指针。

2025-03-31 23:23:51 1009

原创 代码随想录算法训练营第十八天|530.二叉搜素树的最小绝对差、501.二叉搜素树中的众数、236.二叉树的最近公共祖先

给定一个二叉树, 找到该树中两个指定节点的最近公共祖先。给你一个含重复值的二叉搜索树(BST)的根节点。差值是一个正数,其数值等于两值之差的绝对值。,找出并返回 BST 中的所有。如果树中有不止一个众数,可以按。给你一个二叉搜索树的根节点。(即,出现频率最高的元素)。

2025-03-31 00:57:24 712

原创 代码随想录算法训练营第十七天|654.最大二叉树、617.合并二叉树、700.二叉搜索树中的搜索、98.验证二叉搜索树

想象一下,当你将其中一棵覆盖到另一棵之上时,两棵树上的一些节点将会重叠(而另一些不会)。你需要将这两棵树合并成一棵新二叉树。合并的规则是:如果两个节点重叠,那么将这两个节点的值相加作为合并后节点的新值;返回以该节点为根的子树。如果节点不存在,则返回。null 的节点将直接作为新二叉树的节点。,判断其是否是一个有效的二叉搜索树。合并过程必须从两个树的根节点开始。你需要在 BST 中找到节点值等于。给定二叉搜索树(BST)的根节点。给定一个不重复的整数数组。给你一个二叉树的根节点。返回合并后的二叉树。

2025-03-30 01:27:34 547

原创 代码随想录算法训练营第十六天|513.找树左下角的值、112.路径总和、113.路径总和Ⅱ、105.从前序与中序遍历序列构造二叉树、106.从中序与后序遍历序列构造二叉树

的路径,这条路径上所有节点值相加等于目标和。是同一棵树的后序遍历,请你构造并返回这颗。路径总和等于给定目标和的路径。,请构造二叉树并返回其根节点。假设二叉树中至少有一个节点。和一个表示目标和的整数。是指没有子节点的节点。是指没有子节点的节点。是二叉树的中序遍历,当前累计和+子节点值。

2025-03-29 23:14:22 595

原创 代码随想录算法训练营第十五天|222.完全二叉树的节点个数、110.平衡二叉树、257.二叉树的所有路径、404.左叶子之和

的定义如下:在完全二叉树中,除了最底层节点可能没填满外,其余每层节点数都达到最大值,并且最下面一层的节点都集中在该层最左边的若干位置。给定一个二叉树,判断它是否是 平衡二叉树。层(从第 0 层开始),则该层包含。,返回所有从根节点到叶子节点的路径。,求出该树的节点个数。给你一个二叉树的根节点。是指没有子节点的节点。,返回所有左叶子之和。

2025-03-28 17:19:36 630

原创 代码随想录算法训练营第十四天|226.翻转二叉树、101.对称二叉树、104.二叉树的最大深度、111.二叉树的最小深度

在每个节点处计算其左右子树的最小深度,返回时加1(当前节点的深度贡献)。是确保路径终点一定是叶子节点(左右子均空),避免将单边空节点路径计入。,自底向上逐层计算子树深度,最终汇总到根节点得到最大深度。最小深度是从根节点到最近叶子节点的最短路径上的节点数量。即可提前终止遍历,直接返回当前层数,避免不必要的计算。是指从根节点到最远叶子节点的最长路径上的节点数。二叉树的所有节点,每次处理完一层后深度计数器加1。,翻转这棵二叉树,并返回其根节点。叶子节点是指没有子节点的节点。给你一个二叉树的根节点。

2025-03-27 23:48:37 320

原创 代码随想录算法训练营第十三天|二叉树遍历

二叉树的定义树结构:由多个节点(Node)组成的非线性数据结构,节点之间存在父子关系。二叉树特点:每个节点最多有两个子节点(左子节点和右子节点)。示例。

2025-03-26 22:20:59 1076

原创 代码随想录算法训练营第十一天|150.逆波兰表达式求值、239.滑动窗口最大值、347.前k个高频元素

是一种特殊的队列,它维护队列中元素的单调性(单调递增或单调递减)。它的核心思想是通过排除无用元素,减少不必要的比较,从而优化时间复杂度。与普通队列(先进先出,FIFO)不同,优先级队列中的元素按照优先级顺序出队:优先级最高的元素最先出队。如果遇到运算符,则将两个操作数出栈,其中先出栈的是右操作数,后出栈的是左操作数,使用运算符对两个操作数进行运算,将运算得到的新操作数入栈。整个逆波兰表达式遍历完毕之后,栈内只有一个元素,该元素即为逆波兰表达式的值。的滑动窗口从数组的最左侧移动到数组的最右侧。

2025-03-25 22:21:38 984

原创 代码随想录算法训练营第十天|232.用栈实现队列、225.用队列实现栈、20.有效的括号、1047.删除字符串中的所有相邻重复项

栈(Stack)和队列(Queue)是两种基础的线性数据结构,广泛用于编程和算法设计中。它们的主要区别在于数据的操作顺序,这种特性使它们在不同场景中具有独特的作用。请你仅使用两个队列实现一个后入先出(LIFO)的栈,并支持普通栈的全部四种操作(导入进来,再从出栈弹出数据,如果输出栈不为空,则直接从出栈弹出数据就可以了。使用栈来模拟队列的行为,如果仅仅用一个栈,是一定不行的,所以需要两个栈。push数据的时候,只要数据放进输入栈就好。pop的时候,操作就复杂一些,输出栈如果为空。,判断字符串是否有效。

2025-03-25 15:18:36 786

原创 代码随想录算法训练营第九天|151.翻转字符串里的单词、28.找出字符串中第一个匹配项的下标、459.重复的子字符串

对于模式串的前k个字符组成的子串,找出其。

2025-03-24 22:45:50 678

原创 代码随想录算法训练营第八天|344.反转字符串、541.反转字符串Ⅱ

给定一个字符串 s,它包含小写字母和数字字符,请编写一个函数,将字符串中的字母字符保持不变,而将每个数字字符替换为number。例如,对于输入字符串 "a1b2c3",函数应该将其转换为 "anumberbnumbercnumber"。对于字符串,可定义两个指针(也可以说是索引下标),一个从字符串前面,一个从字符串后面,两个指针同时向中间移动,并交换元素。1. 统计数字数量 → count = sum(is_digit(s))编写一个函数,其作用是将输入的字符串反转过来。,从字符串开头算起,每计数至。

2025-03-21 20:13:15 311

原创 代码随想录算法训练营第七天|454.四数相加Ⅱ、383.赎金信、15.三数之和、18.四数之和

利用哈希表优化时间复杂度。请你找出并返回满足下述全部条件且。答案中不可以包含重复的三元组。,请你计算有多少个元组。,判断是否存在三元组。

2025-03-21 01:02:45 760

原创 代码随想录算法训练营第六天|242.有效的字母异位词、349.两个数组的交集、202.快乐数、1.两数之和

请你以数组形式返回两数组的交集。返回结果中每个元素出现的次数,应与元素在两个数组中都出现的次数一致(如果出现次数不一致,则考虑取较小值)。不同键经哈希函数映射到同一存储位置(即哈希碰撞),为处理不同键映射到同一桶的情况,常见的解决策略有:链地址法、开放寻址法。(Hash Function)将键(Key)映射到表中的位置,以实现高效的数据访问、插入和删除操作。将任意大小的键(Key)转换为固定范围的索引(决定数据存储位置)。底层数组结构,存储键值对的容器(每个桶对应一个哈希函数输出)。

2025-03-19 21:17:37 752

原创 代码随想录算法训练营第四天|24.两两交换链表中的节点、19.删除链表的倒数第N个节点、160.链表相交、142.环形链表Ⅱ

给你一个链表,两两交换其中相邻的节点,并返回交换后链表的头节点。你必须在不修改节点内部的值的情况下完成本题(即,只能进行节点交换)。,请你找出并返回两个单链表相交的起始节点。指向链表的头节点,避免单独处理头节点的交换,简化代码逻辑。指向当前节点对的前驱节点,在交换完成后,更新。,快慢指针在循环内的相遇点距离入口的距离为。,返回链表开始入环的第一个节点。给你一个链表,删除链表的倒数第。,仅仅是为了标识链表的实际情况。的位置,以便处理下一对节点。个结点,并且返回链表的头结点。,即交换后的链表头节点。

2025-03-18 23:31:10 1000

原创 代码随想录算法训练营第三天|203.移除链表元素、707.设计链表、206.反转链表

目录一、链表理论基础二、链表操作1.Leetcode203.移除链表元素2.Leetcode707.设计链表3.Leetcode206.反转链表链表是一种通过指针串联在一起的线性结构,每一个节点由两部分组成,一个是数据域一个是指针域(存放指向下一个节点的指针),最后一个节点的指针域指向null(空指针的意思)。链表的入口节点称为链表的头结点也就是head。单链表:双链表:双链表每一个节点有两个指针域,一个指向下一个节点,一个指向上一个节点。循环链表:循环链表,顾名思义,就是链表首尾相连。循环链表可以用来解决

2025-03-17 16:04:55 849

原创 代码随想录算法训练营第二天|209.长度最小的子数组、59.螺旋矩阵Ⅱ

然而,由于城市规划的限制,只允许将区域按横向或纵向划分成两个子区域,而且每个子区域都必须包含一个或多个区块。为了确保公平竞争,你需要找到一种分配方式,使得 A 公司和 B 公司各自的子区域内的土地总价值之差最小。第一行输入为整数数组 Array 的长度 n,接下来 n 行,每行一个整数,表示数组的元素。在一个城市区域内,被划分成了n * m个连续的区块,每个区块都拥有不同的权值,代表着其土地价值。目前,有两家开发公司,A 公司和 B 公司,希望购买这个城市区域的土地。如果不存在符合条件的子数组,返回。

2025-03-14 19:11:14 603

原创 代码随想录算法训练营第一天| 704. 二分查找、27. 移除元素、977.有序数组的平方

给定一个排序数组和一个目标值,在数组中找到目标值,并返回其索引。如果目标值不存在于数组中,返回它将会被按顺序插入的位置。定义一个新数组result,和A数组一样的大小,让k指向result数组终止位置。那么数组平方的最大值就在数组的两端,不是最左边就是最右边,不可能是中间。数组其实是有序的, 只不过负数平方之后可能成为最大数了。此时可以考虑双指针法了,i指向起始位置,j指向终止位置。元素的顺序可能发生改变。,如果目标值存在返回下标,否则返回。个元素有序的(升序)整型数组。组成的新数组,要求也按。

2025-03-13 01:22:11 884

原创 CSV文件读取问题-CSV文件中每行列数不一致问题

通过打开原始CSV文件,我们会发现第一行存在41列,在第二到八行列数都没有超过第一行,故没有报错,但第九行的列数为47,超过了第一行,故发生报错。在读取 CSV 文件时抛出的解析错误。错误信息表明在处理文件时,预期每行有 41 个字段,但在第 9 行发现了 47 个字段。故我们需要寻找CSV文件中最多列数的值,将其指定为CSV文件的列,此时即可正确打开CSV文件。

2024-10-29 16:47:07 1191 1

原创 nc文件时间维度读取报错问题

使用xarray库读取nc文件,但由于其时间维度的格式非datetime格式,时间维度的units为“months since 2004-01-01 00:00:00”,会发生以下报错,出现无法解析时间维度的问题。nc文件可以正常读取,但此时TIME维度仍非datetime格式,而是float32,units也仍是“months since 2004-01-01 00:00:00”(2)也可仍使用xarray库读取nc文件,但需设置decode_times=False。

2024-06-20 19:20:51 1243

原创 PDO指数计算及其Python代码实现

PDO指数计算的python实现

2023-10-12 22:17:40 3017 6

空空如也

空空如也

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

TA关注的人

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