自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Day27 代码随想录 | ● 93.复原IP地址 ● 78.子集 ● 90.子集II

与上一题不同集合里有重复元素了,而且求取的子集要去重。切割问题,可以使用回溯算法。

2024-02-24 22:08:29 152

原创 Day26 代码随想录| ● 39. 组合总和● 40.组合总和II● 131.分割回文串

得有去重,并且可以使用两个相同的数字,可以定义一个数组看是否使用过。

2024-02-23 21:49:54 170

原创 Day25代码随想录 | ● 216.组合总和III● 17.电话号码的字母组合

跟组合的题类似,只不过限制了和,是无序的。216.组合总和III。17.电话号码的字母组合。

2024-02-22 21:20:00 212

原创 Day24代码随想录 | ● 理论基础 ● 77. 组合

跟递归相辅相成 递归函数也就指回溯函数。效率:纯暴力搜索法,不高效。

2024-02-22 20:36:35 207

原创 Day23代码随想录 | ● 669. 修剪二叉搜索树 ● 108.将有序数组转换为二叉搜索树 ● 538.把二叉搜索树转换为累加树

平衡二叉搜索树:选取中间节点,奇数取中间节点,偶数取中间的哪个都可以。108.将有序数组转换为二叉搜索树。538.把二叉搜索树转换为累加树。669. 修剪二叉搜索树。

2024-02-21 22:06:46 194

原创 Day22 代码随想录 | ● 235. 二叉搜索树的最近公共祖先 ● 701.二叉搜索树中的插入操作 ● 450.删除二叉搜索树中的节点

要删的节点左不空,右为空,直接指向删除的父节点。左不空,右也不空,左孩子继位,右孩子继位都可以。235. 二叉搜索树的最近公共祖先。左为空,右不空,直接指向待删父节点。701.二叉搜索树中的插入操作。450.删除二叉搜索树中的节点。删除节点,要改变二叉树的结构。往叶子节点上插入,比较简单。②删除的节点不是叶子节点。1.没找到删除的节点。

2024-02-19 20:31:10 341 1

原创 Day 20代码随想录| 530.二叉搜索树的最小绝对差 ● 501.二叉搜索树中的众数 ● 236. 二叉树的最近公共祖先

二叉搜索树:中序遍历是有序的,可以先中序遍历转变成有序的数组,之后在数组中求相邻元素的最小差值,可以用两个指针直接求差不用多余的数组。利用二叉搜索树的性质,中序遍历的二叉搜索树是有序的。530.二叉搜索树的最小绝对差。236. 二叉树的最近公共祖先。501.二叉搜索树中的众数。

2024-02-17 20:49:31 133 1

原创 Day19 代码随想录 | 654.最大二叉树 ● 617.合并二叉树 ● 700.二叉搜索树中的搜索 ● 98.验证二叉搜索树

思路:构造二叉树,使用前序遍历。700.二叉搜索树中的搜索。98.验证二叉搜索树。

2024-02-16 21:13:23 144 1

原创 Day18 代码随想录 | ● 513.找树左下角的值● 112. 路径总和 113.路径总和ii● 106.从中序与后序遍历序列构造二叉树 105.从前序与中序遍历序列构造二叉树

513 找树左下角的值。

2024-02-15 22:29:28 148 1

原创 Day17 代码随想录 | ● 110.平衡二叉树 ● 257. 二叉树的所有路径 ● 404.左叶子之和

模拟递归需要一个栈,同时还需要一个栈来存放对应的遍历路径。把左叶子节点统计出来,使用中后序都可以。思路:求高度,后序遍历(求高度)257. 二叉树的所有路径。

2024-02-14 23:35:57 198 1

原创 Day16 代码随想录| 104.二叉树的最大深度 559.n叉树的最大深度 111.二叉树的最小深度 222.完全二叉树的节点个数

跟节点的高度就是二叉树的深度,所以可以通过后序/前序求跟节点的高度来求深度。使用层序遍历最合适,相当于记录有几层。前序求的是深度,后序求的是高度。222.完全二叉树的节点个数。559.n叉树的最大深度。111.二叉树的最小深度。104.二叉树的最大深度。

2024-02-14 20:11:37 139 1

原创 Day15 代码随想录| 10.层序遍历 ● 226.翻转二叉树 ● 101.对称二叉树

使用队列跟使用栈都可以。

2024-02-07 18:07:50 222 1

原创 Day14 代码随想录| ● 理论基础● 递归遍历 ● 迭代遍历● 统一迭代

二叉树的主要形式:满二叉树和完全二叉树满二叉树的节点个数2的k次方-1(k是深度),满二叉树一定是完全二叉树平衡二叉搜索树:被称为AVL(Adelson-Velsky and Landis)树,且具有以下性质:它是一棵空树或它的左右两个子树的高度差的绝对值不超过1,并且左右两个子树都是一棵平衡二叉树。,所以map、set的增删操作时间时间复杂度是logn二叉树的存储方式链式存储:左指针,右指针顺序存储:数组,二叉树的遍历方式两种遍历方式:深度优先遍历、广度优先遍历。

2024-02-06 19:21:47 219 1

原创 Day13代码随想录 | 239. 滑动窗口最大值、 347.前 K 个高频元素

两个难点:如何求频率,如何排序,使用map存放频率以及次数,时间复杂度高,只需要对前k个进行排序即可,想到使用堆结构,使用小顶堆。时间复杂度nlogk,优于对所有的元素进行排序。思路一:移动窗口,相当于pop()一个值,之后在push()一个值,每移动一个返回队列的最大值,但是不存在这样的数据结构。思路三:使用单调队列,(自己定义一个队列),保持队列里的大小关系。思路二:使用大顶堆,没办法pop,因为元素数据改变。347.前 K 个高频元素。239. 滑动窗口最大值。

2024-02-05 21:01:18 115 1

原创 Day11 | 20. 有效的括号 1047. 删除字符串中的所有相邻重复项、150. 逆波兰表达式求值

匹配问题可以用栈来实现。

2024-02-03 23:50:53 123 1

原创 Day 10 |栈和队列理论基础、232用栈实现队列、225用队列实现栈

队列:先进先出栈:先进后出,栈不提供走访功能,也不提供迭代器(iterator)。不像是set 或者map 提供迭代器iterator来遍历所有元素,STL中栈往往不被归类为容器,而被归类为container adapter(容器适配器)

2024-02-03 22:36:52 169 1

原创 Day9 | 28. 实现 strStr()、459.重复的子字符串、字符串总结、双指针回顾

vector< char > 和 string的区别基本操作上没有区别,但是 string提供更多的字符串处理的相关接口,例如string 重载了+,而vector却没有。反转系列常用到双指针双指针法是字符串处理的常客。

2024-02-01 23:32:21 189 1

原创 Day 8| 代码随想录344.反转字符串、541. 反转字符串II、卡码网:54.替换数字、 151.翻转字符串里的单词、卡码网:55.右旋转字符串

思路:i 每次移动 2 * k,判断是否有反转的空间。用双指针法(今天脑子疼,思路简写)541. 反转字符串II。卡码网:54.替换数字。

2024-01-31 20:20:59 85

原创 Day7 | 454.四数相加II 383. 赎金信 15. 三数之和 18. 四数之和

有时候即使是“不能重复”也不一定适用于哈希法。

2024-01-30 23:40:06 188 1

原创 Day6代码随想录 | 哈希表理论基础、242.有效的字母异位词 、349. 两个数组的交集 、202. 快乐数、 1. 两数之和

当题目中出现不重复需求时,想到哈希法(数组,set,map...)

2024-01-29 23:22:12 119

原创 代码随想录Day4 | 链表part2

两个指针的应用很重要,在链表中可以找到倒数元素以及判读是否有环等!!注意双指针的思想!

2024-01-27 23:33:15 168 1

原创 代码随想录Day3|链表的基础

链表的类型:单链表、双链表、循环链表(约瑟夫环问题)链表的存储方式:不连续链表的定义:可以不构造函数,C++有默认的构造函数,但是不会初始化任何成员变量,即若不构造函数,则初始化时不能直接给变量赋值链表操作删除链表:直接next指针指向下一个节点(C++需要释放这个节点)添加节点,可以画图理解。203.移除链表元素。

2024-01-26 23:34:20 546 1

原创 Day2代码随想录 | 有序数组的平方、长度最小的子数组、螺旋矩阵II

感觉滑动窗口还是双指针的变形,之后感觉那个矩阵有点像是在找规律,还是得多学多练吧!

2024-01-25 22:31:06 122

原创 代码随想录第一天 | 数组基础知识 、二分查找、移除元素

这两个题都用到了两个指针的方法,这种思想值得借鉴,有时总想着从一边遍历,以后应该想到多借助个“工具”可能效果更好,有一种“男女搭配,干活不累“的感觉哈哈哈哈哈。还有就是自己的代码能力真的很差,需要加强一下。最后,这是第一天。前路漫漫,道阻且长,加油!

2024-01-24 14:10:15 499 1

原创 211本科只学两个月专业课初试384上岸吉林大学软件工程专硕经验分享

吉林大学计算机/软件考研

2023-04-09 21:56:49 157

空空如也

空空如也

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

TA关注的人

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