- 博客(12)
- 收藏
- 关注
原创 代码随想录第十五天任务--二叉树part2
本题就是在知道如何遍历二叉树的情况下,交换每个节点的左右孩子的位置即可实现二叉树的反转。第一个是迭代遍历,第二个是递归实现。层序遍历就是每一层直接遍历即可,可以用递归法实现,传参包括了深度,数组和根节点。判断二叉树是否对称,采用递归的算法,比较二叉树节点的内外侧是否相等即可。101. 对称二叉树 (优先掌握递归)226.翻转二叉树 (优先掌握递归)
2023-12-21 17:08:55 459
原创 代码随想录第十三天任务--栈与队列part3
239. 滑动窗口最大值 (一刷至少需要理解思路本题是队列的具体应用,一个滑动窗口遍历一个数组,需要返回窗口内的最大值。思路就是使用一个队列可以实现出口值总是最大值,我们就只需要在push,pop时实现该特性即可,保证这个队列单调递减同时不要改变队列的顺序。pop(int value)接口,不是直接弹出队列出口的元素,而是需要判断出口元素是否等于数组顺序中要弹出的元素,也就是如果不相等,说明要弹出的元素在push时已经因为队列要保持递减的特性已经弹出了,不需要再弹出了。
2023-12-18 11:11:27 468
原创 代码随想录第十一天任务--栈与队列part2
本题也是顺序匹配的问题,好像大部分顺序匹配的问题都可以使用栈或者队列本来就有顺序的数据结构来解决很方便。运用栈先进后出的数据性质进行括号的匹配。1047. 删除字符串中的所有相邻重复项。150. 逆波兰表达式求值。
2023-12-15 15:52:00 70
原创 代码随想录训练营第七天任务--哈希表part2
选择几个数相加映射到哈希表中并不是固定的,值得思考的是为什么采取2-2的组合,因为四个数组平均分才能使得时间复杂度最小,也就是O(2*n^2),如果3-1那就是O(n^3)。2.就是去重的问题,题目说不包含重复三元数组,因此去重得做好,第一是遍历数组的去重,判断此时遍历的元素是否与之前的元素相等,如果相等结束本次循环即可continue,二是两个指针的去重,移动指针时判断是否与移动前的元素相等,相等继续移动直至不等或左右指针交汇结束本次循环。本题与之前做到的一个题目差不多,略过。454.四数相加II。
2023-12-05 23:07:44 37
原创 代码随想录训练营第六天任务--哈希表part1
c++中STL提供了很多很好的容器,关于容器,算法和迭代器的知识得好好学学,在比赛中对速度提升很大。特别是hash以前感觉是很高级很难学的东西,今天学习后发现也没有那么难学,十分的好用且方便。总的来说,时候时候要用哈希表,就是需要查找一元素是否出现过的时候,然后使用什么样的数据结构来实现哈希表,得看具体情况自己斟酌,哈希表通常能把两次遍历的数据只需要一次遍历,在每次遍历处理数据即可解决,对于有速度限制的题目帮助真的很大。
2023-12-04 21:13:14 104
原创 代码随想录训练营第四天任务--链表part02
24. 两两交换链表中的节点交换整个链表中前后两个节点,不能只交换数据,而是将节点前后指向交换。本题思路就是首先交换前后两个节点数据,这里用1,2,3,4表示交换的两个节点2,3和两个节点之前的一个节点1,和之后的一个节点4,让1节点next指向3,然后让3指向2,最后让2指向4即可,这个过程中Cur表示第一个节点,需要保存2和4的地址。操作完成后将Cur向后移两位,遍历链表,条件是两个节点都不指向NULL。19.删除链表的倒数第N个节点。
2023-12-04 10:45:18 46
原创 代码随想录训练营第三天任务--链表part1
今天学习了链表的相关知识,虽然c++库中提供了链表的容器,但是自己手写实现一遍链表数据对于链表的理解与使用都有很大的帮助,还学习了反转链表的实现方法,这个过程中,我更加体会到了老师说的循环不变量思想的重要性,就是把所有步骤的系统化,按照步骤不变的思想对数据进行同一操作,只需要在循环中改变边界条件即可,增强的自己的代码的逻辑性以及代码的简洁性,在此基础上要求我们对过程有清晰的认知,对其内部逻辑掌握的很清楚。
2023-12-01 12:34:45 95 1
原创 代码随想录训练营第二天任务--数组part2
977.有序数组的平方第一个任务是将一个有负有正的顺序数组每个元素平方后再进行排序输出,输出是一个新的排好序的数组。本题首先要明白的是最大值总是再最右侧和最左侧的元素平方后比较得出,然后逐步向里推进,可以运用双指针分别指向第一个元素与最后一个元素,比较其平方后大小,如果是左侧大,将平方数放入新数组最后一个元素,左边指针指向下一元素,右侧大同理,只是右边指针指向前一元素。相比暴力解法的时间复杂度O(n + nlog n),此解法求解的时间复杂度为O(n)。209.长度最小的子数组。
2023-11-30 00:53:45 133
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人