自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

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

530.二叉搜索树的最小绝对差。

2024-02-29 19:45:52 654

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

非常类似,只是处理的时候有点区别,单层递归逻辑一样,只不过一个是用根节点划分,一个是用最大的数划分。假设遇到一个非空结点,我们要做的就是判断其左子树符合条件吗,判断其左右孩子及根节点符合条件吗,判断其右子树符合条件吗,所以当结点为非空无法进行判断,所以当结点为空时,结束递归。当遇到一个结点时,判断其左子树符合条件吗,即递归调用函数,根节点时判断,上一次的值是否小于它(因为中序遍历一定是一个递增的),判断右子树符合条件吗。拿到一个非空的结点,要做的是就是,中结点合并,然后寻找其左孩子的值,右孩子的值。

2024-02-27 17:41:01 1064

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

叶子结点,才可能是最终的结果,什么是最总结果那,最深的那个叶子结点才是。所以,在取最终结果时,判断叶子结点的深度,若深则取。转换为递归,判断每一个结点是不是叶子结点,以及判断深度是否大于最大值。当传入普通结点时,要进行左右孩子的递归。传入的参数:要进行深度的判断,所以要有当前深度,与最深的深度。在层次遍历的过程中,每次取每一层的第一个元素,就可以取到最终结果。递归函数的功能:判断是不是叶子结点,以及最深叶子的值。传入的参数:存放路径的栈,传入的结点,目标值。1.确定返回值,传入的参数,函数的功能。

2024-02-24 18:19:29 619

原创 代码随想录算法训练营第十七天| 110.平衡二叉树 (优先掌握递归)、 257. 二叉树的所有路径 (优先掌握递归) 、 404.左叶子之和 (优先掌握递归)

把访问的结点加入栈中用来保存,当遇到叶子结点时,就把所有的元素存储下来。对任意结点判断的是,左子树是不是平衡二叉树,右子树是不是平衡二叉树,最后再判断该结点的左右子树高度差是否符合平衡二叉树。sprintf的返回值:如果成功,则返回写入的字符总数,不包括字符串追加在字符串末尾的空字符。判断一个树是不是平衡二叉树,就要判断,其任意结点的左右孩子高度差的绝对值不能超过1。因为是根据高度来判断是不是平衡二叉树,所以返回值为int高度值,传入参数就是结点。遇到叶子结点时,我们终止,再次之前我们需要把路径存储下来。

2024-02-23 18:57:44 505

原创 代码随想录算法训练营第十六天| 104.二叉树的最大深度 (优先掌握递归)、 111.二叉树的最小深度 (优先掌握递归)、 222.完全二叉树的节点个数(优先掌握递归)

用层序遍历请看:117.填充每个节点的下一个右侧节点指针II、104.二叉树的最大深度、111.二叉树的最小深度-CSDN博客可以知道,根节点的高度就等于根节点的深度,所以转换为求树的高度。要求根节点的高度,就要求出其孩子结点的高度,要求孩子结点的高度,就要求其孩子的孩子的高度,直到整个树访问完毕。递归三部曲:1.确定返回值以及传入参数返回值,返回其深度,参数要求的结点。2.终止条件当传入结果为空时返回,返回值为03.确定单层递归的逻辑拿到一个结点时,求它的左孩子高度,求它的右孩子高度,然后取最大值返回。

2024-02-22 22:26:12 912

原创 代码随想录算法训练营第十五天| 226.翻转二叉树 (优先掌握递归) 、 101. 对称二叉树 (优先掌握递归)

226.翻转二叉树 (优先掌握递归)226.翻转二叉树 (优先掌握递归)题目:给你一棵二叉树的根节点root,翻转这棵二叉树,并返回其根节点。

2024-02-22 14:20:07 763

原创 117.填充每个节点的下一个右侧节点指针II、104.二叉树的最大深度、111.二叉树的最小深度

和116.填充每个节点的下一个右侧节点指针是一样的,我们都用队列,一层一层的指。前n-1个都指向其队列后面的元素。2.104.二叉树的最大深度2.1分析及思路与上几个题目类似,这个就相当于求的是层数,有几层就是就是树的深度。3.111.二叉树的最小深度3.1分析及思路运用层序遍历,当遇到一个结点左右孩子都没有时,则说明该结点的深度,就是最小深度,只需加一个判断即可。如有错误还请指正,若有疑问还请评论。

2024-02-21 20:45:29 185

原创 102二叉树的层次遍历、107.二叉树的层次遍历II、199.二叉树的右视图、637.二叉树的层平均值、429.N叉树的层序遍历、515.在每个树行中找最大值、116.填充每个节点的下一个右侧节点指针

用队列实现,怎么一层一层的遍历那,就是先把一层的结点放入队列中,然后出队时,在队列尾部传入其左右孩子即可。Node是一个struct Node类型,Node.children是struct Node**类型,Node.children[j]是struct Node*类型,对它进行地址取值,就是struct Node型。returnColumnSizes是一个int**类型,所以*returnColumnSizes是一个int*类型它指向int*,用于存储一个数组。总结,对每一个传入的参数,都要进行赋值。

2024-02-21 17:19:21 803

原创 队的实现及思路

define MaxSize 50 //定义队列中元素最大的个数//存放队列元素//队头指针和队尾指针}SqQueue;#define MaxSize 50 //定义队列中元素最大的个数//存放队列元素int size;//存储队列中的元素,方便判断队空和队满//队头指针和队尾指针}SqQueue;#define MaxSize 50 //定义队列中元素最大的个数//存放队列元素bool tag;//标志位,与front和rear共同判断队满队空//队头指针和队尾指针。

2024-02-19 16:28:14 582

原创 代码随想录算法训练营第十四天| 递归遍历 、迭代遍历、统一迭代

A入栈,看它有没有左孩子,有B则入栈,看B有没有左孩子有D入栈,看D有没有左孩子没有则D出栈访问它,看D有没有右孩子,没有则再次出栈,访问B,再看B的右孩子,右孩子E入栈,判断有没有左孩子,没有出栈访问E,判断有无右孩子,出栈访问A,判断A有无右孩子,C入栈,判断它有无左孩子,出栈访问它,判断有无右孩子没有则结束。与前序遍历类似,前序遍历是先访问,在入栈,这个是先入栈,在转到其左孩子,为空则出栈访问,不为空则访问左孩子再出栈访问它,再访问它的有孩子。1.沿着根节点的左孩子,依次入栈,直到左孩子为空。

2024-02-16 12:09:11 1467 1

原创 栈的实现及思路

define MaxSize 50 //定义栈中元素的最大个数//存放栈中的元素int top;//栈顶指针}SqStack;//数据域//指针域//数据域//指针域。

2024-02-10 13:44:20 392 1

原创 小根堆与大根堆思路代码解释

适合关键字非常多的情况,数据越大它的优势明显。即在1亿个元素里面选择最大的或者最小的100个关键字。

2024-02-05 21:44:11 312 1

原创 代码随想录算法训练营第十三天| 239. 滑动窗口最大值 、347.前 K 个高频元素

给你一个整数数组nums,有一个大小为k的滑动窗口从数组的最左侧移动到数组的最右侧。你只可以看到在滑动窗口内的k个数字。滑动窗口每次只向右移动一位。返回滑动窗口中的最大值。

2024-01-22 21:03:53 384

原创 代码随想录算法训练营第十一天| 20. 有效的括号 、1047. 删除字符串中的所有相邻重复项 、 150. 逆波兰表达式求值

给定一个只包括'('')''{''}''['']'的字符串s,判断字符串是否有效。

2024-01-20 21:00:46 393

原创 代码随想录算法训练营第十天| 232.用栈实现队列 、 225. 用队列实现栈

请你仅使用两个栈实现先入先出队列。队列应当支持一般队列支持的所有操作(pushpoppeekempty):实现MyQueueint pop()int peek()truefalsesizeis empty。

2024-01-19 21:42:21 394 1

原创 代码随想录算法训练营第九天| 28. 实现 strStr() 、 459.重复的子字符串

前缀不包含最后一个字母,后缀不包括第一个字母。

2024-01-18 21:05:54 320 1

原创 代码随想录算法训练营第八天| 344.反转字符串 、 541. 反转字符串II、 卡码网:54.替换数字 、 151.翻转字符串里的单词 、卡码网:55.右旋转字符串

344.反转字符串344.反转字符串编写一个函数,其作用是将输入的字符串反转过来。输入字符串以字符数组s的形式给出。不要给另外的数组分配额外的空间,你必须、使用 O(1) 的额外空间解决这一问题。

2024-01-17 21:55:09 972

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

今天的题目还得在看一看,要灵活运用双指针操作。

2024-01-16 21:23:56 356 1

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

若遇到查表格的问题可以直接想到哈希算法,若是循环类的问题可以使用快慢指针。

2024-01-15 23:35:30 802 1

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

题目链接/文章讲解/视频讲解:题目:给你一个链表,两两交换其中相邻的节点,并返回交换后链表的头节点。你必须在不修改节点内部的值的情况下完成本题(即,只能进行节点交换)。

2024-01-13 15:17:57 355 3

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

灵活运用头插法和尾插法即可,要记得保存前驱后者后继以防断链。

2024-01-12 21:47:52 338 1

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

视频讲解:题目:给你一个按排序的整数数组nums,返回组成的新数组,要求也按排序。

2024-01-11 22:14:26 371 1

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

二分法的适用范围是有序且不重复。每次用数组中间的值middle与目标值target作比较,会出现两种情况[middle]>target。元素的顺序可以改变。你不需要考虑数组中超出新长度后面的元素。快慢指针操作,可以先看成两个数组,进行分析。不要使用额外的数组空间,你必须仅使用。,如果目标值存在返回下标,否则返回。的元素,并返回移除后数组的新长度。个元素有序的(升序)整型数组。左闭右闭[left,right]

2024-01-10 17:22:48 386 1

原创 蓝桥杯嵌入式第八届省赛真题

蓝桥杯嵌入式第八届省赛真题,讲解了中文显示以及电机状态转换

2023-01-16 18:50:21 2956 9

原创 蓝桥杯嵌入式九届省赛

蓝桥杯嵌入式九届省赛

2023-01-13 20:26:20 621 2

原创 蓝桥杯嵌入式十届省赛

蓝桥杯嵌入式十届省赛

2023-01-12 14:02:16 421

原创 蓝桥杯嵌入式十一届省赛

蓝桥杯嵌入式十一届省赛

2023-01-11 16:32:07 575 3

原创 蓝桥杯嵌入式输入捕获

蓝桥杯嵌入式输入捕获,测量占空比、周期和频率

2023-01-10 16:03:11 1022 2

原创 蓝桥杯嵌入式PWM

蓝桥杯嵌入式PWM的调节

2023-01-09 17:23:43 386

原创 蓝桥杯嵌入式RTC闹钟

蓝桥杯嵌入式RTC闹钟配置

2023-01-08 20:11:20 1654

原创 commons-email-1.2.jar实现简单的邮件发送

commons-email-1.2.jar实现简单的邮件发送

2022-11-22 22:06:25 364 1

空空如也

空空如也

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

TA关注的人

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