自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 代码随想录算法训练营第十六天

确定递归参数和返回值。

2024-06-06 15:42:50 134

原创 代码随想录算法训练营第十五天

1、每一层对应一次for循环,从左至右每个元素以此出队列,并将左节点和右节点入队列。在遍历每层节点之前,定义一个前缀节点为None,这个空节点指向每层节点的第一个元素。2、使用temp暂存每一层的遍历结果,每完成一层后将结果加入result。每遍历一个节点就将指针向右推一次,保证每个pre都能指向当前遍历的节点。3、最终生成的是一个二维列表,每一个子列表都是每一层的节点值。左树的左节点和右树的右节点,左树的右节点和右树的左节点是否相同。确定递归参数和返回值,确定终止条件,确定单层递归的逻辑。

2024-06-05 16:04:18 226 1

原创 代码随想录算法训练营第十四天

后序遍历的思路近似前序遍历,左右中进行一个reverse就是中右左,所以只需要调换入栈顺序,并最后反转列表即可。3、分别将右孩子,左孩子压入栈中(因为栈先进后出,所以右孩子先进)中序遍历比较麻烦/(ㄒoㄒ)/~~,2、取出栈顶元素,并写入列表。2、找到最左节点后处理栈顶。1、确定递归参数和返回值。3、确定单层递归的逻辑。1、判断根节点是否为空。1、先迭代访问最左节点。

2024-06-04 18:10:09 185

原创 代码随想录算法训练营第十三天

是2,所以我们首先取出出现次数为3的数字列表(即[1]),然后取出出现次数为2的数字列表(即[2])。假设输入为nums = [1, 1, 1, 2, 2, 3] k = 2。(这里的列表元素顺序可能与实际输出不同,因为字典的键是无序的)列表的末尾开始,逐个取出出现次数对应的数字列表,并添加到。暴力解法(但leetcode没通过/(ㄒoㄒ)/~~)的键(即出现次数)转换为一个列表,并对其进行排序。的键(即数字),并将每个数字添加到。中的元素数量)为2,达到了。中对应的出现次数列表中。的值,所以循环结束。

2024-06-03 11:29:44 234

原创 代码随想录算法训练营第十一天

也是利用栈的思路,只不过不是匹配成功出栈,而是匹配到(遍历过程中遇到运算符号),将栈的最后两个数字出栈进行运算再入栈。此处需注意出栈的顺序pop1和pop2,运算过程永远是后出栈的元素和先出栈的元素进行运算。类似括号匹配问题,只是最后输出的格式需要注意,输出一个字符串而不是一个栈。该算式转化为常见的中缀算术表达式为:((2 + 1) * 3) = 9。字典的判断:分别针对字典中的key和value。今天的三道题目都是栈的应用,涉及到匹配的问题。逆波兰表达式:后缀表达式。

2024-06-02 10:30:51 126

原创 代码随想录算法训练营第十天

【代码】代码随想录算法训练营第十天。

2024-05-31 19:12:35 111

原创 代码随想录算法训练营第八天

字符串在 Python 中是不可变的(immutable),这意味着不能直接修改字符串中的一部分内容。(这部分确实会创建一个新的字符串,它是原字符串前。55. 右旋字符串(第八期模拟笔试)54. 替换数字(第八期模拟笔试)的一个切片,但这是不允许的。时,Python 尝试将。个字符的反转)赋值给。

2024-05-29 10:09:47 123

原创 代码随想录算法训练营第七天

否则返回 false。「快乐数」定义为:对于一个正整数,每一次将该数替换为它每个位置上的数字的平方和,然后重复这个过程直到这个数变为 1,也可能是 无限循环 但始终变不到 1。给定四个包含整数的数组列表 A , B , C , D ,计算有多少个元组 (i, j, k, l) ,使得 A[i] + B[j] + C[k] + D[l] = 0。给你一个包含 n 个整数的数组 nums,判断 nums 中是否存在三个元素 a,b,c ,双指针法,减少一层循环(三数之和O(n2),四数之和O(n3))

2024-05-28 16:54:33 233

原创 代码随想录算法训练营第六天

采用相对数值的方式,只需要建立长度为26的数组即可,初始值都赋为0(对于长度较小的情况一般采用数组的形式构建哈希表):返回全部重复的元素(不去重)ord():计算字符的哈希值。出现唯一值,一般考虑集合。4、集合的交集并集差集。

2024-05-27 09:31:25 172

原创 代码随想录算法训练营第四天

所以有x+y+z+y=2(x+y),即x=z。fast指针与slow指针相遇时,走的距离分别是x+y+z+y,x+y,且因为速度是二倍的关系。若两链表 有 公共尾部 (即 c>0) :指针 A , B 同时指向第一个公共节点。若两链表 无 公共尾部 (即 c=0) :指针 A , B 同时指向 null。相遇时,headA共走a+(b−c),headB共走b+(a−c)」的节点数量为 b ,「两链表的公共尾部」的节点数量为 c。」的节点数量为 a,「链表。

2024-05-25 22:50:08 281

原创 代码随想录算法训练营第三天

链表常用虚拟头节点,避免单独处理head的问题。

2024-05-24 19:01:19 201

原创 代码随想录算法训练营第二天

1、每次将右指针包裹进窗口,如果当前窗口的值大于等于target了,窗口左端点向右移动。2、窗口的结束位置:窗口的结束位置就是遍历数组的指针,也就是for循环里的索引。part2.按顺时针顺序写入矩阵 ,每填充一行或一列都有一个边界要收缩。窗口:满足其和 ≥ target 的长度最小的连续子数组。part1.构造一个二维矩阵并确定上下左右的边界。的子数组:使用滑动窗口减少时间复杂度。1、快慢指针:找环形链表。3、滑动窗口:连续子数组。2、前后指针:二分查找。

2024-05-23 13:17:17 255

原创 代码随想录算法训练营第一天| 704. 二分查找、27. 移除元素

leetcode都是核心代码模式,学习了一下简单的输入输出方式。

2024-05-22 10:13:36 209 1

空空如也

空空如也

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

TA关注的人

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