自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 代码随想录算法训练营 DAY14 | 二叉树专题

解析:基本的递归操作,先找到终止条件是root == nullptr ,让后模拟左右反转。然后看成基元操作, 假定已经实现功能的基元操作,最后返回root节点。leetcode 对称二叉树解析: 对称二叉树,终止条件,执行条件运用了过关斩将法,把不可能的的答案排除,留下最后一种才能通关,此时应该缩小视角,将对比条件看成一个个小的节点,而不是一个二叉树。

2023-01-28 23:21:08 125

原创 代码随想录算法训练营 DAY12 | 栈与队列专题

解析:这道题的时间复杂度是o(n) ,相当于另开了一个辅助队列,本道题的亮点是,辅助队列其实可以自己构造,deque 比queue的构造面更广。实现思路是,如果加入的数比前面的数大,就把前面的数全弹出来,在进行填充。原因是,下一个滑动窗口没有前一个滑动窗口的第一个。用priority_queue优先级队列,可以实现大顶堆,还可以自己定义排序方法,同时用vector容器储存元素。解析:牢记住构造队列,是一种非常舒服的数据结构,实际上开始考察STL的构造运用。leetcode 滑动窗口的最大值。

2023-01-27 11:11:02 245

原创 代码随想录算法训练营 DAY11 | 栈与队列专题

解析: 栈模拟消消乐,加辅助vector数组。leetcode 删除字符串所有相邻的重复字符。leetcode 逆波兰表达式。leetcode 有效的括号。解析:遇到加减乘除就消消乐。解析:还是模拟消消乐哦。

2023-01-25 21:46:54 135

原创 代码随想录算法训练营 DAY9 | 字符串专题

解析:利用了STL 和 数学思想, 做了这么多题了,实际上算法就是灵活运用STL和一些特定方法,与数学结合更是妙不可言了。s+s = 2Nm ,破坏首尾 , s+s = 2(N-1)m ,N>=2。推论如果它是的话中间必定出现过,逆否命题,如果中间没出现过,那么一定不是。解析: kmp学了两天还是不会写,绷不住了,没事,我是oop程序员,有STL就先用STL。leetcode 找出字符串中的第一个匹配项。leetcode 重复的字符子串。

2023-01-23 20:08:31 192

原创 代码随想录算法训练营 DAY10 | 栈与队列专题

解析: st1 相当于装填容器,st1只负责push装入, 如果st2 为空,就把st1的所有元素装填进去,让后st2进行弹出即可。解析:一个队列循环成圈,可以模拟栈。leetcode 用队列实现栈。leetcode 栈实现队列。

2023-01-23 17:34:12 65

原创 代码随想录算法训练营 DAY8 | 字符串专题

解析:强烈推荐stringstream的使用,相当于java中的split ,并且可以进一步转化为为任意类型。解析:真的就是对STL的运用啊啊啊啊啊啊。leetcode 反转字符串中的单词。解析: 简单的利用STL 反转函数。leetcode 反转字符串2。leetcode 左旋转字符串。leetcode 反转字符串。解析:双指针原地掉换位置。解析:真没啥好说的。

2023-01-18 20:45:56 80

原创 代码随想录算法训练营 DAY7 | 哈希专题

难道,难道我只能使用最后的必杀技了嘛,我从脑海深处,慢慢拔出双指针这把利剑,双指针?巧妙的使用两个指针,在数组间移动,竟然能达到减少多层for循环的效果。解析: 利用hashmap当中间储存器,分别把前两段的和,和后两段的和统计出来,再遍历两个hashmap来确定四数之和。解析: 其实这道题和leetcode 242 一样的,本质思想都是分门别类把,还是桶思想,把相同的属性放在一个桶里面,没什么特别之处。双指针搭配排序才能发挥出巨大的威力,双指针的根本在于,利用顺序,对比,不断的移动,扩张,收缩。

2023-01-18 18:19:10 94

原创 代码随想录算法训练营 DAY6 | 哈希表专题

hashmap在循环查找的时候也大有用处,相当于用空间换时间了。本来暴力解法两层for循环。用hashmap保存已经遍历过的,开辟新的空间,可以少一次for循环查找。这是hashmap的一种经典用法

2023-01-16 15:12:45 100

原创 代码随想录算法训练营 DAY4 | 链表专题

leetcode 两两交换链表节点。

2023-01-15 23:13:59 81

原创 代码随想录算法训练营 DAY3 | 链表专题

3.中间的元素,选择跳过删除,头元素选择后移头指针。leetcode 删除链表元素。1.先创建链表指针index。看成两个节点的链表,让后递归。leetcode 反转列表。

2023-01-13 19:09:17 127

原创 代码随想录算法训练营 DAY2 | 数组专题

滑动窗口,双指针,模拟

2023-01-13 16:14:41 126

原创 JavaWeb Tomcat 一图胜千言

JavaWeb Tomcat 一图胜千言

2023-01-12 15:37:42 80

原创 JavaWeb Session 一图胜千言

JavaWeb Session 一图胜千言,session的底层创建机制

2023-01-12 15:35:05 98

原创 代码随想录算法训练营 DAY1 | 二分查找

算法训练营DAY1 二分查找

2023-01-11 22:57:08 258

原创 回溯模板全解

回溯法也可以叫做回溯搜索法,它是一种搜索的方式。其实是每一次递归后再返回上一层,由单一深度搜索拓宽为深度加广度搜索。

2022-09-04 20:18:46 674 1

原创 构建二叉树模板大全

有许多关于构建二叉树的题目,并且这些题目有固定的模板,我将对这类题目将进行分类总结。本篇致力于让读者能够融会贯通,抓住要领,建立模板化思维,看见一题想到一类。构造二叉树一般分为构造普通的二叉树,和构造二叉搜索树。构造二叉树我们学会一种思想,就是第一步先找当前根节点看哪一个数组能够明确确定根节点。第二步划分左区间,右区间。这里需要考察的是对vector的掌握,明确左开右闭,并且如何拷贝,如何resize。二叉搜索树的构建,也是先寻找当前根节点。只不过这里是对一个vector进行操作。......

2022-08-30 17:38:42 778

原创 第一章 计算机网络和因特网

第一种方式:描述因特网的具体构成,即构成因特网的基本硬件和软件组织。第二种方式:根据分布式应用提供服务的联网基础来描述因特网。

2022-08-29 17:11:08 1254

原创 二叉搜索树统一化解题模板

所有二叉搜索树的题的逻辑就是,对二叉搜索树进行增删查改。 因为中序遍历二叉搜索树等于遍历有序数组,所以我们把二叉搜索树转化为有序数组,对数组的增删查该还不爽么??

2022-08-27 10:33:57 572 1

原创 递归模板

大多数同学遇见递归题目,往往有一种模棱两可的感觉。写递归算法的人,往往分成两种。这篇文章将告诉你递归的真正方法。让你不在迷茫做递归,保证学会!为回溯打下基础

2022-08-25 19:35:31 1099 2

原创 inline 内联函数

使用背景:调用函数一般比直接写在main中的代码执行效率低,因为一次函数调用实际上包含着一系列工作,调用前存放在寄存器中,并在返回时候恢复。这时候使用内联函数可以直接省略这些步骤,相当于写在main函数中。使用方法:其实跟写函数没什么区别,唯一就是在前面。再加上inline标识。...

2022-08-24 22:07:19 84

原创 递归转化为栈

栈的迭代

2022-08-19 20:43:12 499

原创 二叉树层序遍历统一化模板

BFS广度优先遍历,DFS深度优先遍历统一化模板。二叉树前中后序遍历

2022-08-18 16:40:19 248

原创 算法日记之小根堆

算法小根堆解决前k大

2022-08-17 23:03:43 1400

原创 一.Linux 文件管理

Linux 笔记 跟着敲一遍快速入门

2022-08-12 11:15:46 558 1

空空如也

空空如也

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

TA关注的人

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