算法
weixin_62647456
这个作者很懒,什么都没留下…
展开
-
滑动窗口209
只需要遍历到 4 即可,接着就是寻找 1 1 1 1 4 这个数组中是否有更短的数组,所以从前面窗口开始删除(寻找当前子数组中是否有更小的子数组)。暴力破解,双重for循环遍历出每一个子数组,如果有大于等于target的值就更新目标子数组的长度。由于需要找到连续的最小子数组,所以可以不用考虑,没有遍历的(即更长的,符合要求的子数组),这就是滑动窗口效率高的原因。滑动窗口的本质是双指针方法,使用两个指针指向窗口的前后两个位置。注意:for循环中的 j 指针是指向窗口的尾部。i 指针指向窗口的头部。原创 2024-04-29 19:56:53 · 242 阅读 · 0 评论 -
二分查找的两种形式
while条件为(left <= right)左闭右闭区间,区间内的每一个值都有效。原创 2024-04-22 17:41:22 · 210 阅读 · 0 评论 -
KMP算法实现方式之一
KMP算法实现原理很简单,难的是对于Next数组求解的代码,网上对于Next数组的求解方法,有好几种不同版本。如果你不断翻看网络上的不同教程,就会觉得越来越复杂。这里提供一种next数组实现原理,默认next[0]为0。首先给出这个方法计算的next数组,如果跟你的计算方法不同可以先行跳过,免得越学越乱。原创 2024-03-23 20:19:27 · 199 阅读 · 0 评论