自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 代码随想录 算法训练营 Day12 二叉树广度优先搜索,226.翻转二叉树,101.对称二叉树,104.二叉树的最大深度,111.二叉树的最小深度

层序遍历一个二叉树。就是从左到右一层一层的去遍历二叉树。需要借用一个辅助数据结构即队列来实现,队列先进先出,符合一层一层遍历的逻辑,而用栈先进后出适合模拟深度优先遍历也就是递归的逻辑。而这种层序遍历方式就是图论中的广度优先遍历,只不过我们应用在二叉树上。关于结构体指针的用法TreeNode 是什么?TreeNode 是一个用户定义的类型,是用 struct 关键字定义的结构体。结构体 TreeNode 定义了一个二叉树节点的数据结构,包括它的值(val)和指向左右子节点的指针(left 和 righ

2024-08-13 23:22:02 849

原创 代码随想录 算法训练营 Day11 二叉树基础,二叉树的前中后序遍历,递归遍历和迭代遍历

int val;TreeNode(int x) : val(x), left(NULL), right(NULL) {} //构造函数,使用初始化列表为成员赋初值在定义节点结构体的时候会定义一个构造函数,传入一个值作为节点的值,将两个指针赋为空,二叉树的定义和链表是差不多的,相对于链表 ,二叉树的节点里多了一个指针, 有两个指针,指向左右孩子。// 二叉树节点定义int val;// 构建二叉树int i = 1;while (!q.pop();// 添加左子节点。

2024-08-12 22:40:52 979

原创 代码随想录算法训练营 Day10 150. 逆波兰表达式求值 239. 滑动窗口最大值 347.前 K 个高频元素

逆波兰表达式:是一种后缀表达式,所谓后缀就是指运算符写在后面。平常使用的算式则是一种中缀表达式,如 ( 1 + 2 ) * ( 3 + 4 )。该算式的逆波兰表达式写法为 ( ( 1 2 + ) ( 3 4 + ) * )。逆波兰表达式主要有以下两个优点:去掉括号后表达式无歧义,上式即便写成 1 2 + 3 4 + * 也可以依据次序计算出正确结果。适合用栈操作运算:遇到数字则入栈;遇到运算符则取出栈顶两个数字进行计算,并将结果压入栈中。头文件。

2024-08-11 16:51:05 1734

原创 代码随想录算法训练营 Day9 栈与队列 232.用栈实现队列 225. 用队列实现栈 20. 有效的括号 1047. 删除字符串中的所有相邻重复项

栈和队列是STL(C++标准库)里面的两个。C++标准库是有多个版本的,要知道我们使用的STL是哪个版本,才能知道对应的栈和队列的实现原理。

2024-08-09 23:49:52 908

原创 代码随想录算法训练营Day8,右旋字符串,KMP算法,459.重复的子字符串

字符串的右旋转操作是把字符串尾部的若干个字符转移到字符串的前面。给定一个字符串 s 和一个正整数 k,请编写一个函数,将字符串中的后面 k 个字符移到字符串的前面,实现字符串的右旋转操作。例如,对于输入字符串 “abcdefg” 和整数 2,函数应该将其转换为 “fgabcde”。

2024-08-08 14:45:25 999

原创 代码随想录算法训练营 Day7,344.反转字符串 , 541. 反转字符串II , 替换数字,151.翻转字符串里的单词

编写一个函数,其作用是将输入的字符串反转过来。输入字符串以字符数组 char[] 的形式给出。不要给另外的数组分配额外的空间,你必须原地修改输入数组、使用 O(1) 的额外空间解决这一问题。你可以假设数组中的所有字符都是 ASCII 码表中的可打印字符。

2024-08-06 17:14:04 964

原创 代码随想录算法训练营 Day6,454.四数相加II 383. 赎金信 15. 三数之和 18. 四数之和

给定四个包含整数的数组列表 A , B , C , D ,计算有多少个元组 (i, j, k, l) ,使得 A[i] + B[j] + C[k] + D[l] = 0。为了使问题简单化,所有的 A, B, C, D 具有相同的长度 N,且 0 ≤ N ≤ 500。所有整数的范围在 -2^28 到 2^28 - 1 之间,最终结果不会超过 2^31 - 1。

2024-08-05 22:34:57 920

原创 代码随想录算法训练营Day5,哈希表基础,242.有效的字母异位词 349. 两个数组的交集 第202题. 快乐数 1. 两数之和

本质上来说其实数组就是一张哈希表。哈希表中关键码就是数组的索引下标,然后通过下标直接访问数组中的元素。例如要查询一个名字是否在这所学校里。要枚举的话时间复杂度是O(n),但如果使用哈希表的话, 只需要O(1)就可以做到。我们只需要初始化把这所学校里学生的名字都存在哈希表里,在查询的时候通过索引直接就可以知道这位同学在不在这所学校里了。将学生姓名映射到哈希表上就涉及到了hash function ,也就是。

2024-08-04 20:53:05 793

原创 代码随想录训练营第四天:24. 两两交换链表中的节点 19.删除链表的倒数第N个节点 .链表相交 142.环形链表II

给你一个链表,两两交换其中相邻的节点,并返回交换后链表的头节点。你必须在不修改节点内部的值的情况下完成本题(即,只能进行节点交换)。

2024-08-03 16:43:13 2206

原创 代码随想录算法训练营第三天:203.移除链表元素 707.设计链表 206.反转链表

单链表使用结构体定义,struct中定义的构造函数和class构造函数唯一的区别就是struct中定义的函数以及变量访问控制权限默认是public.// 单链表int val;// 节点上存储的元素// 指向下一个节点的指针ListNode(int x) : val(x), next(NULL) {} // 节点的构造函数ListNode(int x) —构造函数的参数是一个整数 x,用于初始化节点的值。

2024-08-02 22:14:58 1004

原创 代码随想录算法训练营第二天:209.长度最小的子数组,59.螺旋矩阵II

给定一个含有 n 个正整数的数组和一个正整数 s ,找出该数组中满足其和 ≥ s 的长度最小的 连续 子数组,并返回其长度。如果不存在符合条件的子数组,返回 0。示例:输入:s = 7, nums = [2,3,1,2,4,3]输出:2解释:子数组 [4,3] 是该条件下的长度最小的子数组。

2024-08-01 17:03:18 1029

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

如果不是原地修改的话,直接新建一个int[ ] 数组,将去重之后的元素放进这个新的数组中,然后返回这个数组即可,但现在题目要求不能新建数组,只能在原数组上修改,

2024-07-31 23:06:01 664

原创 Windows10 重装系统后显示字体不清楚的问题如何解决

**Windows10 重装系统后显示字体不清楚的问题如何解决**一般在电脑重装系统之后或者在电脑使用一段时间之后就会出现字体模糊的情况,解决方法如下,首先桌面右击,显示设置,在缩放与布局中,将缩放比例和显示分辨率设为推荐值。在高级缩放设置中 打开 ——允许Windows尝试修复应用,使其不模糊——选项。此电脑 ——右击——属性 ——选择高级系统设置,3.在高级系统设置界面——选择高级选项卡——在性能框区 选择设置4.选择调整为最佳,5.打开控制面板,在上面搜

2021-05-04 21:21:37 5904

空空如也

空空如也

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

TA关注的人

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