- 博客(2)
- 收藏
- 关注
原创 【Leetcode】1044. Longest Duplicate Substring 最长重复子串
解法 后缀数组的模版题,后缀数组解释见:后缀数组【原理+python代码】 最长的重复子串就是所有后缀的最长公共前缀,也就是height数组的最大值 用倍增法求后缀数组的话是O(n)O(n)O(n)的复杂度 class Solution(object): def longestDupSubstring(self, S): """ :type S: str ...
2019-05-13 21:48:47 3051
原创 【Leetcode】204. Count Primes 204. 计数质数
解法 一个计算[1,n)区间内质数数量的算法 首先,如果p是质数,那么p的所有倍数都要被mark成非质数,到p*i>=n为止 如果某个数为p*q,但是q<p,那么这个数一定在之前被标记过,被q里的质因子标记了 所以对质数p的标记从k=p*p开始,到k>n结束 对于区间[sqrt(n),n)这里面的非质数来说,它们肯定有小于sqrt(n)的质因子,所以当我们遍历完[1,sqrt...
2019-05-07 22:25:14 109
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人