
简介
该用户还未填写简介
擅长的技术栈
可提供的服务
暂无可提供的服务
快速排序(Quick Sort),既然敢起这样的名字,说明它是常⻅排序算法中较为优秀的。事实上,在很多情况下,快排确实是效率较⾼的算法;c++的排序是以快排为基础,再加上堆排和插入排序做优化实现的,我们这里实现的快速排序,只是单纯的快速排序图中第一个长方形是一个待排序区间,我们会从中选择一个基准元素p,把区间划分成小于基准元素的和大于基准元素的,如果等于基准元素就放到左边或者右边,分完区后,此时p

在了解map之前,我们先看看两个场景,通过这两个场景的对比,让我们知道为什么要存在存储双关键字的容器在没学set容器之前,我们只能想到把这一堆字符串存到一个字符型数组里面,从前往后遍历每一个字符,判断某一个字符串是否出现过,这个时间复杂度是O(N)级别的,如果我们学过set的话,我们就可以把这一堆字符串存到set容器里面,判断某一字符串是否出现过的时候直接调用里面的count接口就可以了,时间复杂
在题目里面,我们首先拿到的是两个字符串,在第一个问题里面,我们处理的是整个字符串,当递归到左右子树的时候,我们拿的字符串的一部分,因此在传参的时候,你只需告诉我原字符串要处理哪一段就行了,就可以定四个变量,让l1指向中序遍历要处理的左端点,r1指向中序遍历要处理的右端点, l2后序遍历要处理的左端点, r2 后序遍历要处理的右端点。我们可以发现,无论是哪个区域,我们处理的方法都是一样的,依照后序遍

注意:头结点h这⾥的数组⼤⼩可以为N,但是e和ne这两个数组我们要开辟之前的两倍才⾏,因为我们要存边存的是之前的两倍的。链式前向星的本质就是⽤链表存储所有的孩⼦,其中链表是⽤数组模拟实现的。名字看起来花⾥胡哨的,但是不要被唬到。

【代码】注释容易混淆?修改vscode注释颜色,自定义你的专属颜色。
在我们遇到的算法题中, ⼀般给出的树结构都是有编号的,这样会简化我们之后存储树的操作 ,⼀般提供两个信息;⼀共9个结点셈 1号结点为根节点,接下来8⾏,每⾏两个数x, y, 表示x, y之间有⼀条边输⼊格式:93 11 24 12 56 27 44 84 9。

结合这道题目,它的坐标是从左上角开始的,所以左上角是00或者11,正常情况下x轴向右y轴向上,不管坐标轴怎么画,方向向量的含义是不变的。

【代码】注释容易混淆?修改vscode注释颜色,自定义你的专属颜色。
在我们遇到的算法题中, ⼀般给出的树结构都是有编号的,这样会简化我们之后存储树的操作 ,⼀般提供两个信息;⼀共9个结点셈 1号结点为根节点,接下来8⾏,每⾏两个数x, y, 表示x, y之间有⼀条边输⼊格式:93 11 24 12 56 27 44 84 9。

如果从前往后枚举地毯,假设枚举到一个地毯覆盖到所求的坐标,其实这个地毯是不是最终答案还不知道,因为我们要找的是最后覆盖的节点的地毯,所以从前往后找地毯,即使找到了一个地毯覆盖了题目中给的点,也不能确定它是不是最后一个,那我们从后往前枚举地毯的话,当我第一次找到一个地毯覆盖题目中的点,它一定是最终结果,这道题我们最优的枚举就是从后往前枚举。








