自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 代码训练营|●day 14 任务以及具体安排:第六章 二叉树part01

后序2:再来看后序遍历,先序遍历是中左右,后续遍历是左右中,那么我们只需要调整一下先序遍历的代码顺序,就变成中右左的遍历顺序,然后在反转result数组,输出的结果顺序就是左右中了。后序1:先访问到最左节点,该节点的子树中,左孩子是空。中序的过程是先遍历到最左端,那么在最左端这个小树里,左节点是空,不用记录数据,所以先记录栈顶的数据,然后转到右节点。栈顶存的是当前子树的根节点。别人写的更明白一点,就是将根节点入栈,然后将其出栈,记录数据,然后将他的左右节点入栈,然后注意下入右这样,先弹的是左。

2024-04-19 18:13:16 692

原创 代码随想录算法训练营day13|239.滑动窗口最大值

看题解,学会了构建单调队列 3. 对头永远是最大值,之后的元素单调递减 4. 所以当元素从窗口出去时,如果和队头元素相同那么需要移除队头元素 5. 当元素进入窗口时,和队列尾元素比较,如果不符合递减,那么就需要一直移除队尾元素直到,队尾元素比当前元素大,即符合递减自己的思路,使用一个容器存储数值和出现的次数,然后排序,再按顺序输出前k个高频元素。:这里的容器可以使用unordered_map,但是排序需要构建一个vector<pair>然后,使用sort(),并且提供一个自定义的比较数值的比较函数进行排序,

2024-04-03 22:25:00 224 1

原创 代码随想录算法训练营day11| 20.有效的括号

2.如果使用栈,那么就是将字母按顺序放入栈中,比较是否与top()相同,相同就pop()。3. 直接使用string当作栈,非常绝。注意匹配到左括号时,入栈右括号就好。"+"表示字符串,'+'表示字符。4. 有思路后,实现难度不大。

2024-03-31 23:28:24 282 1

原创 代码随想录算法训练营第9日|

5. 在c++中stack被归类为容器适配器,栈是以底层容器完成其所有的工作,对外提供统一的接口,底层容器是可插拔的(也就是说我们可以控制使用哪种容器来实现栈的功能)。队列的话,POP()的时候将前面的元素重新push,将需要出栈的元素推到队头就行。7. 默认使用deque实现stack,也可以切换成vector或者list。如果使用数组的话,能使用栈顶指针实现,满足一个数组实现。6. 在GCC中使用的SGI_STL,开源且可读性强。较为简单,stack的POP()是没有返回值的。要求只是用一个队列。

2024-03-29 22:56:18 245 1

原创 代码随想录训练营第八天|344.反转字符

字符串是若干字符组成的有限序列,也可以理解为是一个字符数组,但是很多语言对字符串做了特殊的规定,接下来我来说一说C/C++中的字符串。3. 这里的思路是先去除所有的多余空格,rsize()。时间复杂度是O(n)级别的。在C语言中,把一个字符串存入一个数组时,也把结束符 '\0’存入数组,并以此作为该字符串是否结束的标志。从前向后填充就是O(n^2)的算法了,因为每次添加元素都要将添加元素之后的所有元素整体向后移动。其实很多数组填充类的问题,其做法都是先预先给数组扩容带填充后的大小,然后在从后向前进行操作。

2024-03-28 21:22:38 150

原创 代码随想录算法训练营第四天| 454.四数相加||

这是因为operation[]如果key值不存在会直接创建一个新的节点,value值为类型的默认值,而且该操作返回的是T&,value类型的引用,所以可以使用++操作符来进行操作。这个过程是这样的,使用三个指针分别放在i,i+1和末尾,当num[i]+ num[left]+ num[right]>0时,缩小right,<0时增大left。如果使用map,那么key使用a[i]+[j]的和,value是std::pair<i, j>。7. 当找到一个三元组后,找到答案时,双指针同时收缩。直接抄哈希法的实现。

2024-03-28 00:32:55 708

原创 代码随想录算法训练营第六天|242 有效的字母异位词

还是使用C++吧。

2024-03-25 23:45:50 243

原创 代码随想录算法训练营第四天|24,俩俩交换元素

使用虚拟头节点后省去讨论只有一个节点的情况。

2024-03-23 18:35:44 291 1

原创 代码随想录算法训练营第三天|204 移除链表元素,

`上一题的这句之所以不错是因为head虽然是一个局部变量,在函数中修改不会影响外部的链表头节点。但是使用return返回后,相当于更新了外部存储头节点指针的值。应该尽早放弃,直接重写。debug耗费的时间有点太多。关键需要想象头尾有个空的概念。累了,重写一遍仍然出错。呼,自己作的终于AC了。错漏百出阿,错漏百出。

2024-03-23 02:46:16 208 1

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

观看官方题解后,更加清晰的描述是:寻找到正数和负数的分界线或者直接全部平方,然后再排序。这是可预测的n+nlogn实现成功。

2024-03-22 00:25:35 188 1

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

顺利通过使用m = i + (j-i)/2 代替 m = (i+j)/2哇,看了视频依然没有思路啊,我得出去走走,有点心态爆炸。

2024-03-21 16:08:25 648 1

空空如也

空空如也

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

TA关注的人

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