自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(2)
  • 收藏
  • 关注

原创 一文搞懂KMP算法

如果我们知道 t[0,1,......, j-1] 的所有前缀和后缀字串中的最长匹配串为 k,也就是 t[0, 1, ....., k-1] = t[j-k, ......, j-1],那么我们就知道 t[0, 1, ....., k-1] 和 s[i] 的前 k 个字符是匹配的,那么 j 只需要回退到 k+1 的位置(为什么 i 不需要回溯呢?如上面的例子,t[7]=d,t[0, ......, 6] 的最长公共前后缀长度为 3,所以 next[7]=3,也就是当 j 等于 7 发生 s[i]!

2023-04-09 12:08:18 45 1

原创 树状数组及其应用

一. 树状数组结构详解 1. 什么时候使用树状数组 现在有一个数组nums[n]。在进行数组处理时常遇到这样一类问题:单点更改某位置的值;查询某个区间[left, right]内的值的和。如果使用常规的方法,在进行update(int loc)操作时,直接更新即可;在进行求区间和sumRange(int left, int right)时,直接求和即可,这样最坏情况的时间复杂度是O(n^2)。在大量数据下这个复杂度太高了,不可接受。树状数组就是来应对这个问题的,它可以大大降低时间复杂度。 .........

2022-04-04 16:54:24 1099

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除