摘要: 滑动窗口,简称滑窗,是快慢指针的一种应用技巧,两个指针之间形成一个窗口,右指针不断扩张,左指针按条件收缩,随着窗口的扩大和缩小找到满足条件的答案。 阅读全文
posted @ 2023-11-19 19:43 有点成长 阅读(155) 评论(0) 推荐(0) 编辑
摘要: 双指针是一种应用很广泛且基础的编程技巧,双指针中的“指针”是指索引、游标。 一、双指针思想 双指针是指在遍历对象的过程中,不是普通的使用单个指针进行访问,而是使用两个指针进行遍历,从而达到相应的目的。 最常见的双指针算法有两种: 在同一个序列中,用两个指针维护两个位置,或两个位置包含的区间; 在两个 阅读全文
posted @ 2023-11-12 16:51 有点成长 阅读(2060) 评论(0) 推荐(0) 编辑
摘要: 差分是一种类似于前缀和的编码技巧,可以快速实现对数组某个区间的所有元素增加或减少一个值。 阅读全文
posted @ 2023-11-05 19:25 有点成长 阅读(201) 评论(0) 推荐(1) 编辑
摘要: 前缀和是指数组某个索引之前的所有元素的和,是一种重要的编码技巧,使用前缀和可以快速求出数组某一个区间的和。 阅读全文
posted @ 2023-11-04 16:18 有点成长 阅读(222) 评论(0) 推荐(0) 编辑
摘要: 枚举法,也称穷举法,是指在解决问题的时候穷举每一种可能的情况,最终得到符合要求的答案。枚举法的效率并不高,但适用于一些没有明显规律可循的场景。 阅读全文
posted @ 2023-10-29 23:40 有点成长 阅读(207) 评论(0) 推荐(0) 编辑
摘要: 递归是一种应用非常广泛的算法(或者变成技巧),很多算法的实现都需要依赖递归。简单来说,递归就是在函数中调用自己。递归求解问题分为“递”和“归”2 个过程。 阅读全文
posted @ 2023-10-29 17:08 有点成长 阅读(182) 评论(0) 推荐(0) 编辑
摘要: 二分查找适用于在有序数组中查找一个元素,使用了分治思想。 阅读全文
posted @ 2023-10-22 23:03 有点成长 阅读(286) 评论(0) 推荐(0) 编辑
摘要: 一、算法原理 二、代码实现 三、算法评价 3.1 时间复杂度 3.2 空间复杂度 3.3 稳定性 阅读全文
posted @ 2023-10-04 23:47 有点成长 阅读(18) 评论(0) 推荐(0) 编辑
摘要: 一、算法原理 二、代码实现 三、算法评价 3.1 时间复杂度 3.2 空间复杂度 3.3 稳定性 阅读全文
posted @ 2023-10-04 23:46 有点成长 阅读(15) 评论(0) 推荐(0) 编辑
摘要: 一、算法原理 二、代码实现 三、算法评价 3.1 时间复杂度 3.2 空间复杂度 3.3 稳定性 阅读全文
posted @ 2023-10-04 23:46 有点成长 阅读(21) 评论(0) 推荐(0) 编辑