自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(20)
  • 资源 (1)
  • 收藏
  • 关注

原创 代码随想录训练营D20-二叉树篇 p6 | 654.最大二叉树、617.合并二叉树、700.二叉搜索树中的搜索、98.验证二叉搜索树

构造二叉树--先序遍历;二叉搜索树的特性可以通过中序遍历体现。

2023-09-06 12:29:21 75 1

原创 代码随想录训练营D18-二叉树篇 p5 | 513.找树左下角的值、112. 路径总和 、113.路径总和ii、 106.从中序与后序遍历序列构造二叉树 105.从前序与中序遍历序列构造二叉树

112、113 区分了递归什么时候要有返回值、什么时候没有返回值。

2023-09-04 14:58:15 75 1

原创 代码随想录训练营D17-二叉树篇 p4 | 110.平衡二叉树、257. 二叉树的所有路径、404.左叶子之和

迭代法,大家可以直接过,二刷有精力的时候 再去掌握迭代法。

2023-08-30 15:40:53 62 1

原创 代码随想录训练营D16-二叉树篇 p3 | 104.二叉树的最大深度、559.n叉树的最大深度、111.二叉树的最小深度、222.完全二叉树的节点个数

迭代法,大家可以直接过,二刷有精力的时候 再去掌握迭代法。

2023-08-26 17:40:49 41

原创 代码随想录训练营D15-二叉树篇 p2 | 层序遍历 10 、226.翻转二叉树、101.对称二叉树 2

进入内层while,每一层(层是指 层次遍历的层)的循环,进行条件是cnt>0,以此来保证在while中操作的都是当前层的结点。按前面层序遍历的思路,每层循环开始前使用变量cnt记录了队列中的结点个数(即当前层的结点数),因此本题中可以使当前层一直出队,直到当前层只剩一个结点,将该结点放入result list中。在内层while中,首先创建一个list,用于存当前层的结点。4.进入内层while,每一层(层是指 层次遍历的层)的循环,进行条件是cnt>0,以此来保证在while中操作的都是当前层的结点。

2023-08-21 22:25:43 87 1

原创 代码随想录训练营D14-二叉树篇 p1 | 理论基础、递归遍历、迭代遍历、统一迭代

int val;

2023-08-08 22:39:47 22

原创 代码随想录训练营D13-栈与队列篇 p3 | 239. 滑动窗口最大值、 347.前 K 个高频元素、总结

栈与队列做一个总结吧,加油1.栈的经典应用:消消乐在匹配左右括号时的小技巧,可以在输入左括号时,直接存入右括号。这样到时候与栈顶元素相消时,可以直接用==消掉,而不必再想如何给’(‘与’)'配对。2.队列:单调队列 与优先队列2.1 单调队列。是自己实现的一种数据结构,维护的是当前队头是最大的元素,整个队列是从大到小的。但这种顺序不是由排序得到的,而是在入队的时候,把不符合这种顺序的数字提前从队尾处弹出了。2.2优先队列。底层实现是大顶堆、小顶堆。一般要前k个,后k个之类的题目要想到。

2023-08-07 22:34:42 36

原创 代码随想录训练营D11-栈与队列篇 p2 |20. 有效的括号、1047. 删除字符串中的所有相邻重复项、150. 逆波兰表达式求值

没有考虑写isMatch方法,而是在起先存左括号时,就直接存的右括号,这样再右括号进入时可以直接判断两个字符是否相等,若相等则表明他们是一对的。遍历读入s,每读一个字符时,先判断与栈顶元素能否凑一对,能凑一对,当前元素也不用入栈了,并且栈顶也顺便出栈;否则,当前元素入栈。要知道栈为什么适合做这种类似于爱消除的操作,因为栈帮助我们记录了 遍历数组当前元素时候,前一个元素是什么。如何确定括号的左右呢?1.匹配的过程中,发现栈空了,连字符都没了,返回false。先入栈的(即后出栈的)在运算符的前面,在/或-时。

2023-08-07 16:09:32 49

原创 代码随想录训练营D10-栈与队列篇 p1 | 232.用栈实现队列、 225. 用队列实现栈

文章讲解:https://programmercarl.com/%E6%A0%88%E4%B8%8E%E9%98%9F%E5%88%97%E7%90%86%E8%AE%BA%E5%9F%BA%E7%A1%80.html。1)HP STL 其他版本的C++ STL,一般是以HP STL为蓝本实现出来的,HP STL是C++ STL的第一个实现版本,而且开放源代码。从下图中可以看出,栈的内部结构,栈的底层实现可以是vector,deque,list 都是可以的, 主要就是数组和链表的底层实现。

2023-08-07 10:38:25 25

原创 代码随想录训练营D8-字符串篇 p1 | (344.反转字符串、541. 反转字符串II、剑指Offer 05.替换空格、151.翻转字符串里的单词、剑指Offer58-II.左旋转字符串

java都是“值传递”,关键看这个值是什么,简单变量就是复制了具体值,引用变量就是复制了地址。建议: 本题是字符串基础题目,就是考察 reverse 函数的实现,同时也明确一下 平时刷题什么时候用 库函数,什么时候 不用库函数。建议:这道题目基本把 刚刚做过的字符串操作 都覆盖了,不过就算知道解题思路,本题代码并不容易写,要多练一练。1.纠正只要有for循环,就++i的思路,是可以 i += 2*k的。建议:本题又进阶了,自己先去独立做一做,然后在看题解,对代码技巧会有很深的体会。

2023-08-05 20:25:43 41 1

原创 代码随想录训练营D7-哈希表篇p2 | 454.四数相加II 、383. 赎金信 、15. 三数之和 、18. 四数之和

建议:本题是 使用map 巧妙解决的问题,好好体会一下 哈希法 如何提高程序执行效率,降低时间复杂度,当然使用哈希法 会提高空间复杂度,但一般来说我们都是舍空间 换时间, 工业开发也是这样。建议:本题虽然和 两数之和 很像,也能用哈希法,但用哈希法会很麻烦,双指针法才是正解,可以先看视频理解一下 双指针法的思路,文章中讲解的,没问题 哈希法很麻烦。三数之和判断num[i] > 0 就break了,因为后面的数都比num[i]大,即都>0,所以无法再在后面找到两个数与num[i] 相加 == 0了 .

2023-08-04 17:12:46 36 1

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

指针q遍历链表2,结束后去遍历1;关于一组操作的划分:设当前结点为cur,起始时cur指向虚拟的头结点,此时需要进行调换位置的是,第一个、第二个有内容的结点。所以可以与a指针保持n+1个距离发出一个b指针,当a指针到达最末null位置时,b指针刚好到达倒数n+1的位置上。设在环的入口前有结点a个,环的结点数b个。首先,明确 要删除倒数第n个结点,那么查找的指针要落在倒数第n+1个结点上,这样才好删除倒数第n个。双指针的操作,要注意,删除第N个节点,那么我们当前遍历的指针一定要指向 第N个节点的前一个节点。

2023-08-03 13:37:22 21

原创 代码随想录训练营D6-哈希表篇 01 | 242.有效的字母异位词 、 349. 两个数组的交集 、 202. 快乐数、 1. 两数之和

202. 快乐数、 1. 两数之和 )

2023-08-02 15:48:18 48

原创 代码随想录训练营D3-链表篇 day1| 203.移除链表元素、 707.设计链表、 206.反转链表

文章链接:https://programmercarl.com/%E9%93%BE%E8%A1%A8%E7%90%86%E8%AE%BA%E5%9F%BA%E7%A1%80.html。但是头结点(这里头结点里面都是有值的),无法按上述流程操作;链表写一个类,里面有size,head。初始化链表时,将head初始化为 new LinkNode(0),一个值为0的结点。写也能写出来,但是关于一些临界或者判空的,思路还不是很清晰,要一点点调。创建一个工作结点,它.next.val == val时,直接将其移除。

2023-07-30 20:33:26 46 1

原创 代码随想录训练营D2-数组篇 day2| 977 有序数组的平方、209 长度最小的子数组 、59.螺旋矩阵II

先++iMin,++j(考虑走第二圈时,要先向右,因为原地的位置已经填好值了),按顺序向右填充(i值不变,j不断增大),直到j达到最大值jMax时,则要向下填充。这时看看框的长度能否更小,所以将框的左侧向右压,若还满足sum>=target,则更新min,直到sum 右,填充A而不填充B;

2023-07-29 11:23:28 62

原创 代码随想录训练营D1-数组篇 day1 |力扣704二分查找、27移除元素

文章中图片均来自于代码随想录。

2023-07-26 23:52:56 158 1

原创 mac环境修改idea.vmoptions导致idea无法启动(闪退)

问题描述mac环境下配置-javaagent参数idea.vmoptions文件路径/Users/xxx/Library/Application\ Support/JetBrains/IntelliJIdea2021.3修改idea.vmoptions-javaagent:/Users/xxx/Documents/jetbrains/ja-netfilter-v2.2.2/ja-netfilter.jar后导致idea无法启动原因:我认为/Documents虽然显示为英文,但在实际按路径查找时

2022-03-31 16:05:30 1927 1

转载 [转载]汉诺塔问题——递归

转载自https://blog.csdn.net/qq_41705423/article/details/82025409 ...

2019-07-06 14:54:27 138

转载 [转载]一文读懂递归算法

递归的学习绝对是一个持久战,没有人可以一蹴而就。一年两年的,很寻常。问题的复杂,加上递归本身的细节,我们想要 '...

2019-07-06 14:48:27 117

原创 Xcode创建c语言方案及调试

create C profuct1.file-new-project2.OS X-Application-command line tool-(next)3.fill the ‘product name’ and select C from the ‘language’,and fill the rest depend on your mood, then ‘next’.4.select ...

2019-04-16 15:50:54 2386

database management system

该电子书为数据库管理系统,涵盖了基本的数据库相关概念,除了作为入门课程的基本内容外,还包括了可作为课程补充或作为高级课程介绍性材料的高级内容。

2019-03-05

空空如也

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

TA关注的人

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