
力扣刷题心得
记录自己在力扣上的一些刷题经验
李某某不会java
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
二分法求左右边界
二分法求左右边界搞定 鉴于本人每次做二分的题都被二分的边界搞的云里雾里的,所以这次直接一劳永逸。道理我都懂,就是之前不想整理。 直接定义left和right为左闭右闭,这个很重要。当然二分也要求数组必须是有序的 比如:数组长度为10,则left=0;right=9;即左右两个数都可以取到。 因此我们的代码可以写为: while(left<=right){ int mid=left+(right-left)/2;//中点 //条件判断 //如果要找的是确定值那么很简单原创 2021-12-22 10:44:48 · 550 阅读 · 0 评论 -
字符串哈希算法
字符串哈希算法 该算法的目的是将字符串转化为哈希值,这样的话在做字符串匹配的题的时候可以大大降低时间复杂度,仅需O(1)的时间复杂度即可。 首先要设一个P值,为每次进位所相乘的数,即将字符串看成一个P进制的数。一般设为13331。 同时我们需要设两个数组h[n+1],p[n+1]。其中h用来存储算出的字符串的哈希值,p用来存储这是第几次进位。初始化p[0]=1,h[0]=0。 因此我们可以计算一个字符串s的中每个以0开始,i结尾的子字符串的哈希值 long[] h, p; int P = 1313131,原创 2021-12-24 18:42:37 · 1781 阅读 · 2 评论