![](https://img-blog.csdnimg.cn/20201014180756918.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
算法
文章平均质量分 75
楠佩忆心轩
这个作者很懒,什么都没留下…
展开
-
KMP算法思路
的字符串的最长公共前后缀的长度,那么当出现元素不匹配情况时,如果串b前面的子串存在公共前后缀,那么公共前后缀的部分也就不需要再次进行比较,由于公共前后缀的长度为next[bIndex],那么bIndex就可以直接从索引为next[bIndex]的地方继续进行比较即可,也就是说bIndex不需要重新变为0,降低比较的次数。,数组的长度为串b的长度,数组的作用就是当两个字符串比较出现不相等字符的情况时,可以不重新开始从串b的第一个字符开始比较,减少比较次数以及降低时间复杂度。4、bIndex=0,进行第一步。原创 2023-08-22 19:15:00 · 135 阅读 · 0 评论 -
二分搜索算法
对于一组有顺序的数据,不采用常见的遍历方式找到需要的数据,而是利用其规律,比中间数据小的一定在中间数据左边,比中间数据大的一定在中间数据右边,每次排除一般的数据,从而提高搜索算法的时间复杂度。这道题由于数据一定存在于数组当中,所以其下标的取值一定是0~数组长度-1,所以我们将left = 0,right = nums.length - 1,其他的题目也是相同的道理。,但是如果比目标值大,那么就可能是mid位置,也有可能是在mid左边,于是。,如果是left = mid,那么。,反之则是一定在其左边。原创 2023-09-21 20:00:00 · 84 阅读 · 0 评论