自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 算法训练营打卡Day26

大家好啊,不知道大家国庆假期过得如何?算法训练营休假5天期间大家有没有刷题?有的话继续坚持,没有的话就当放松啦~今天打卡二叉树的最后章节,同时不要忘记复习前面的章节,包括数组、字符串、链表、哈希表等内容!坚持就是胜利!目录1.修剪二叉搜索树2.将有序数组转换为二叉搜索树3.

2024-10-06 23:35:34 653

原创 算法训练营打卡Day19

目录1.二叉搜索树的最近公共祖先2.二叉树中的插入操作3.删除二叉搜索树中的节点。

2024-09-30 21:29:01 1040

原创 算法训练营打卡Day18

示例 2: 输入: root = [3,5,1,6,2,0,8,null,null,7,4], p = 5, q = 4 输出: 5 解释: 节点 5 和节点 4 的最近公共祖先是节点 5。示例 1: 输入: root = [3,5,1,6,2,0,8,null,null,7,4], p = 5, q = 1 输出: 3 解释: 节点 5 和节点 1 的最近公共祖先是节点 3。例如,给定如下二叉树: root = [3,5,1,6,2,0,8,null,null,7,4]

2024-09-29 23:28:53 1070

原创 算法训练营打卡Day17

1、最大二叉树2、合并二叉树3、二叉搜索树中的搜索4、验证二叉搜索树题目1、最大二叉树给定一个不含重复元素的整数数组。通过给定的数组构建最大二叉树,并且输出这个树的根节点。示例 :思路:构造树一般采用的是前序遍历,因为先构造中间节点,然后递归构造左子树和右子树。参数传入的是存放元素的数组,返回该数组构造的二叉树的头结点,返回类型是指向节点的指针。当递归遍历的时候,如果传入的数组大小为1,说明遍历到了叶子节点了。那么应该定义一个新的节点,并把这个数组的数值赋给新的节点,然后返回这个节点。

2024-09-28 22:51:58 759

原创 算法训练营打卡Day16

目录。

2024-09-26 22:55:06 359

原创 算法训练营打卡Day15

今天继续打卡,进行二叉树相关题目的学习#本期思路分享偏少,题目难度适中,希望辩证地分析笔者给出的参考代码,仅供参考目录。

2024-09-25 23:01:38 760

原创 算法训练营打卡Day14

题目1.226.翻转二叉树题目2.101. 对称二叉树。

2024-09-25 00:02:25 340

原创 关于二叉树层序遍历代码的部分解析

public:这里定义了一个名为Solution的类,其中包含一个公开的成员函数levelOrder,该函数接收一个指向二叉树根节点的指针root,并返回一个二维向量,该向量包含了二叉树层序遍历的结果。首先,定义了一个名为Solution的类,其中包含一个名为levelOrder的方法。这个方法接收一个二叉树的根节点root(类型为,表示根节点可以是TreeNode类型或者None),并返回一个二维列表(),其中包含了二叉树层序遍历的结果。该方法通过队列实现了二叉树的层序遍历。

2024-09-24 08:46:11 692

原创 算法训练营打卡Day13

int val;

2024-09-23 23:57:49 960

原创 算法训练营打卡Day11

今天我们继续来学习栈和队列。

2024-09-21 23:38:05 576 1

原创 算法训练营打卡Day10补充

我们在删除相邻重复项的时候,其实就是要知道当前遍历的这个元素,我们在前一位是不是遍历过一样数值的元素,那么如何记录前面遍历过的元素呢?所以就是用栈来存放,那么栈的目的,就是存放遍历过的元素,当遍历当前的这个元素的时候,去栈里看一下我们是不是遍历过相同数值的相邻元素,然后再去做对应的消除操作。如果是左括号,就向栈中加入右括号,这样加入后面的括号中遇到右括号,就可以执行是否相同的判断进而消去括号;假如我们的栈为空并且遇到右括号或者栈中最后一个括号与遍历到的括号不同,返回False;

2024-09-21 13:37:40 518

原创 算法训练营打卡Day10

目录今日打卡内容:栈与队列目录232.用栈实现队列225. 用队列实现栈225. 用队列实现栈1047. 删除字符串中的所有相邻重复项理论基础方便读者了解栈和队列,下方是学习的链接232.用栈实现队列。

2024-09-20 23:04:32 301

原创 算法训练营打卡Day8

字符串Part.01344.反转字符串541. 反转字符串II卡码网:54.替换数字。

2024-09-19 23:17:00 812

原创 算法训练营打卡Day9

打卡主题-->字符串part2。

2024-09-18 23:14:33 423

原创 算法训练营打卡Day7

今天继续来学习哈希表题目链接:学透哈希表,map使用有技巧!LeetCode:454.四数相加II_哔哩哔哩_bilibili. - 力扣(LeetCode)关于如何选择集合/映射,可以参考以下表格// 哈希表大小const int HASH_SIZE = 101;//这里定义了哈希表的大小为101。选择一个质数作为哈希表的大小是一个常见的做法,因为质数可以减少哈希冲突的概率。typedef struct node { //哈希表节点结构() /*这里定义了一个结构体,它包含三个字段:存储哈希

2024-09-17 23:09:03 1083

原创 算法训练营打卡Day6

链接:https://leetcode.cn/problems/intersection-of-two-arrays/solutions/469445/liang-ge-shu-zu-de-jiao-ji-by-leetcode-solution/链接:https://leetcode.cn/problems/intersection-of-two-arrays/solutions/469445/liang-ge-shu-zu-de-jiao-ji-by-leetcode-solution/

2024-09-17 00:21:39 1193

原创 Leetcode-896.单调数列

decreasing = False # 如果之前假设是递减的,但现在发现递增,则更新状态。increasing = False # 既然已经递减,递增的假设就不再成立。if increasing: # 如果之前假设是递增的,则现在不是单调的。# 发现递增(这里其实可以省略,因为递减状态会由上面的条件更新)# 初始假设数组未检测到递增(用于检测递减,但开始时我们不知道)// 发现递减,如果之前已经确定递增,则不是单调。// 发现递增,如果之前已经确定递减,则不是单调。// 如果相等,则不改变状态。

2024-09-16 01:02:13 905

原创 算法训练营打卡Day5

例如,如果链表A比链表B长,那么当遍历完链表B后,链表A的指针还没有到达末尾。为了让两个指针在相同的起点 开始遍历(即它们同时到达链表末尾或者相交点的位置),较长的链表需要比较短的链表多走一些步数。由于它们现在位于距离链表末尾相同距离的位置,所以它们要么同时到达链表末尾(如果链表不相交),要么在相交点相遇。的交换操作,主要是出于优化遍历过程、确保两个指针能够同时到达链表末尾(如果链表不相交)或相交点(如果链表相交)的考虑。在解决两个链表相交问题时,如果链表A的长度大于链表B的长度,则进行。

2024-09-15 23:47:48 894

原创 算法训练营打卡Day4

为啥快指针先行了n+1步?由于单链表中的next指针指向的是下一个节点,想要删除倒数第n个节点,自然要将操作指针慢指针指向倒数第n+1个节点,这样才能进行删除操作。这时,慢指针就指向了需要删除的节点的前一个节点。但是,这里有一个特殊情况需要注意:如果n等于链表的长度,那么实际上我们要删除的是链表的头节点。但是,这里有一个特殊情况需要注意:如果n等于链表的长度,那么实际上我们要删除的是链表的头节点。个人认为难点在于理解交换的本质是交换链表中的连接顺序,而不是交换链表的值,因为根据链表的特性这不是合理的做法。

2024-09-14 17:03:17 638

原创 算法训练营打卡Day3

在遍历链表时,我们总是检查current.next的值,并根据需要调整current.next的指向,从而跳过值为val的节点。最后,返回dummy_head.next作为删除所有值为val的节点后的链表头节点。# 因为我们是从虚拟头部节点开始遍历的,所以即使原链表的头节点被删除,我们也能通过dummy_head.next找到新的头节点。# 遍历结束后,dummy_head.next即为删除所有值为val的节点后的链表头节点。# 如果当前节点的下一个节点的值等于val,则删除该节点。

2024-09-13 21:37:59 329

原创 算法训练营打卡Day2

链接:https://leetcode.cn/problems/minimum-size-subarray-sum/solutions/1706223/by-carlsun-2-iiee/// 因为我们是找符合条件最短的子序列,所以一旦符合条件就break。if (sum >= s) { // 一旦发现子序列和超过了s,更新result。总结,这是两道对个人而言比较有挑战性的题目,都是在看完题目没有思路的情况下看完视频讲解才解答的。// 如果result没有被赋值的话,就返回0,说明没有符合条件的子序列。

2024-09-12 22:37:02 863 2

原创 算法训练营学习打卡Day1

作者:孤柒「一起学计算机」 链接:https://leetcode.cn/problems/squares-of-a-sorted-array/solutions/1099698/si-wei-dao-tu-zheng-li-liang-chong-shuan-e3iz/作者:温暖 链接:https://leetcode.cn/problems/binary-search/solutions/1852042/by-dxy-5n-ckjb/// 将较大的平方值放入结果数组的末尾,并移动相应的指针。

2024-09-12 00:26:02 617 1

空空如也

空空如也

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

TA关注的人

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