- 博客(33)
- 收藏
- 关注
原创 代码随想录算法训练营第十八天| 找树左下角的值 112. 路径总和 113. 路径总和ii 105./106.从中序与中序/后序遍历序列构造二叉树
106.从中序与后序遍历序列构造二叉树,105.从前序与中序遍历序列构造二叉树。112. 路径总和,和 113. 路径总和ii。从中序与后序遍历序列构造二叉树。
2023-12-20 00:00:59
378
原创 代码随想录算法训练营第十七天| 110.平衡二叉树 257. 二叉树的所有路径 404.左叶子之和
110.平衡二叉树 257. 二叉树的所有路径 404.左叶子之和
2023-12-17 23:44:26
77
原创 代码随想录算法训练营第十六天| 104.二叉树的最大深度 111.二叉树的最小深度 222.完全二叉树的节点个数
104.二叉树的最大深度 111.二叉树的最小深度 222.完全二叉树的节点个数
2023-12-15 22:53:07
72
原创 Linux中的开发工具--gcc/g++
在之前的Linux学习中谈到过Linux中分区分文件后缀,所以文件可以设置后缀来提醒操作者文件类型,也可以什么也不设置。但是Linux系统不区分文件后缀不代表Linux下的程序不区分文件后缀,本篇博文介绍的gcc/c++是区分文件后缀类型的。gcc:C语言编译器,只能编译C语言g++:C++编译器,C/C++都能编译gcc code.c -o 自定义名字。
2023-12-14 18:00:28
92
原创 代码随想录算法训练营第十三天| 239. 滑动窗口最大值 347.前 K 个高频元素
239. 滑动窗口最大值 (一刷至少需要理解思路347.前 K 个高频元素。
2023-12-11 22:35:16
24
原创 Linux权限的理解
su -用户名 :切换用户,root切换其他用户没有限制,普通用户切换root或者其他普通用户需要输入密码。如图所示,我的Linux账号下权限掩码为0002,文件和目录的起始权限减去权限掩码后就得到了默认权限。sudo 指令 :以root权限运行该指令 (sudo使用的前提是当前用户被添加到了白名单)。一个Linux账户下只有一个超级用户:root,其余创建的用户都是普通用户。这里的666的二进制形式是:110 110 110,后面的九列代表文件的读写权限,当用户不拥有权限是用。
2023-12-09 20:21:17
31
原创 代码随想录算法训练营第十一天| 20. 有效的括号 1047. 删除字符串中的所有相邻重复项 150. 逆波兰表达式求值
逆波兰表达式求值 有效括号 删除字符串中所有相邻重复项
2023-12-09 00:00:32
24
原创 代码随想录算法训练营第四天| 24. 两两交换链表中的节点 19.删除链表的倒数第N个节点 142.环形链表II 面试题 02.07. 链表相交
双指针的经典应用,如果要删除倒数第n个节点,让fast移动n步,然后让fast和slow同时移动,直到fast指向链表末尾。删掉slow所指向的节点就可以了。19.删除链表的倒数第N个节点。面试题02.07. 链表相交。24. 两两交换链表中的节点。142.环形链表II。
2023-12-03 15:51:33
53
原创 Linux基础指令(二)
cp指令用于复制文件或目录,如同时指定两个以上的文件或目录,且最后的目的地是一个已经存在的目录, 则它会把前面指定的所有文件或目录复制到此目录中。若同时指定多个文件或目录,而最后的目的地并非一个已存 在的目录,则会出现错误信息。mv命令是move的缩写,可以用来移动文件或者将文件改名(move (rename) files),是Linux系统下常用的命 令,经常用来备份文件或者目录。nano 文件名:在文件中写入内容 注:若文件不存在将创建文件。-f 或 --force 强行复制文件或目录。
2023-12-02 22:15:35
35
1
原创 代码随想录算法训练营第三天| 203.移除链表元素 707.设计链表 206.反转链表
力扣 203.移除链表元素 707.设计链表 206.反转链表
2023-12-01 23:52:32
35
1
原创 代码随想录算法训练营第二天| 977.有序数组的平方 ,209.长度最小的子数组 ,59.螺旋矩阵II
力扣 977.有序数组的平方 ,209.长度最小的子数组 ,59.螺旋矩阵II
2023-11-30 23:59:42
32
原创 模板の进阶
一个程序(项目)由若干个源文件共同实现,而每个源文件单独编译生成目标文件,最后将所有目标文件链接起来形成单一的可执行文件的过程称为分离编译模式。【优点】1. 模板复用了代码,节省资源,更快的迭代开发,C++的标准模板库(STL)因此而产生2. 增强了代码的灵活性【缺陷】1. 模板会导致代码膨胀问题,也会导致编译时间变长2. 出现模板编译错误时,错误信息非常凌乱,不易定位错误。
2023-11-07 21:43:56
24
原创 stack和queue
1. 队列是一种容器适配器,专门用于在FIFO上下文(先进先出)中操作,其中从容器一端插入元素,另一端提取元素。2. 队列作为容器适配器实现,容器适配器即将特定容器类封装作为其底层容器类,queue提供一组特定的成员函数来访问其元素。元素从队尾入队列,从队头出队列。3. 底层容器可以是标准容器类模板之一,也可以是其他专门设计的容器类。该底层容器应至少支持以下操作:[1]empty:检测队列是否为空[2]size:返回队列中有效元素的个数[3]front:返回队头元素的引用。
2023-11-07 20:32:39
20
原创 类和对象即封装特性
1.声明和定义全部放在类体中。ps:成员函数的定义和声明都在类中实现,编译器可能将其当作内联函数处理。2.类的声明放在.h头文件中,类的实现放在.cpp文件中。ps:成员函数名前需要加类名::一般情况下使用第二种定义方式更多。
2023-10-09 09:58:46
34
1
原创 链式结构二叉树的遍历(前序,中序,后序及层序遍历)及基本操作
对链式结构二叉树进行操作,首先要创建二叉树节点,这里定义一个包含节点数据,左孩子节点,右孩子节点的结构体作为节点,之后的操作都使用这个结构体。}BTNode;
2023-09-22 13:48:16
217
2
原创 用堆解决Top-K问题
2.用数据集合中剩余的N-K个元素依次与堆顶元素进行比较,若满足预设条件则替换掉堆顶元素,并对堆进行向下调整使之重新成为堆。将剩余的N-K个元素都比较完,堆中的K个元素就是最大/小的K个元素。对于Top-k问题,最容易想到的方法就是排序,但是当数据量过大时,数据很难同时加载到内存中,所以排序并不适合解决Top-k问题。1.用数据集合中的前K个元素建堆。(若是求最大的K个元素则建小堆;求最小的K个元素则建大堆)比如专业排名的前十名,全国财富榜的前一百位富豪,一个游戏最强的前十名玩家等等。
2023-09-20 22:01:49
38
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人