
js数据结构与算法之模板总结
文章平均质量分 57
要不要买菜啊
这个作者很懒,什么都没留下…
展开
-
双指针套路
双指针分为同向双指针和反向双指针同向双指针其中 [0,i) 的数据代表处理好的数据,[i,j)中的数据是那些处理过但不需要的数据,[j,array.length) 区间的数据为接下来待处理的数据。这三个区间的开闭要根据题目要求定义,但是要保持一致(不能让一个端点值在一个区间的右边和另一个区间的左边都闭合)。用此方法处理过的数组,处理好的数据的相对位置会保持一致 ,即[1,2,0,3,0,8] 将0移至数组尾部,使用此方法,结果只可能是[1,2,3,8,0,0]而不可能是[8,3,2,1,原创 2022-04-24 11:15:16 · 217 阅读 · 0 评论 -
深度优先搜索(DFS) 思路与模板 —— 二叉树基础模板
深度优先搜索算法(英语:Depth-First-Search,DFS)是一种用于遍历或搜索树或图的算法。其过程简要来说是对每一个可能的分支路径深入到不能再深入为止,而且每个结点只能访问一次.算法优先搜索1. 二叉树有关问题2. 需要从根节点遍历到末尾叶子节点常见题型满足(最大、最小,某种要求)的深度、路径、节点和.......DFS思路1. 创建结果存储变量,初始化当前结果2. 设计递归函数— 函数执行过程—— 若到达结尾,则返回—— 若未到达结尾,则更新当前..原创 2022-04-19 18:59:30 · 493 阅读 · 0 评论 -
滑动窗解法
算法题应用场景关键字:满足xxx条件(计算结果、出现次数、同时包含)最长/最短子串/子数组/子序列例如:长度最小的子数组滑动窗使用思路之寻找最长—— 核心:左右双指针(L,R)在起始点,R逐位滑动循环—— 每次滑动过程中若: 窗内元素满足条件,R向右扩大窗口,并更新最优结果若:窗内元素不满足条件,L向右缩小窗口—— R到达结尾最长代码模板// 最长模板// 初始化left,right,result,baseResultwhile(右指针没有到结尾)原创 2022-04-18 22:28:19 · 175 阅读 · 0 评论