博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
LeetCode题解(1044):最长重复子串(Python)
阅读量:1899 次
发布时间:2019-04-26

本文共 1100 字,大约阅读时间需要 3 分钟。

题目:(困难)

标签:哈希表、二分查找

解法 时间复杂度 空间复杂度 执行用时
Ans 1 (Python) O ( N l o g N ) O(NlogN) O(NlogN) O ( N ) O(N) O(N) 1340ms (100.00%)
Ans 2 (Python)
Ans 3 (Python)

解法一:

class Solution:    _MOD = 2 ** 32    def longestDupSubstring(self, S: str) -> str:        def check(v):            now = 0            for i in range(v):                now = (26 * now + nums[i]) % self._MOD            count = {
now} max_bit = pow(26, v, self._MOD) for i in range(size - v): now = (now * 26 - nums[i] * max_bit + nums[i + v]) % self._MOD if now in count: return i + 1 count.add(now) return -1 size = len(S) nums = [ord(S[i]) - 97 for i in range(size)] start = -1 left, right = 0, size while left < right: mid = (left + right) // 2 res = check(mid) print(mid, ":", res) if res != -1: start = res left = mid + 1 else: right = mid return S[start:start + left - 1] if start != -1 else ""

转载地址:http://fczcf.baihongyu.com/

你可能感兴趣的文章
Yarn功能简介
查看>>
linux下的定时任务
查看>>
通过shell界面访问其他机器mysql数据库的方法
查看>>
使用mysql自带工具mysqldump进行全库备份以及source命令恢复数据库
查看>>
决策树笔记(入门)
查看>>
Taro中如何使用cssModules
查看>>
taro中别名引入路径
查看>>
taro中hook的使用
查看>>
使用element-ui的table组件,使用三元表达式筛选数据
查看>>
vue打包项目报错Failed to load resource: the server responded with a status of 500 (Internal Server Error)
查看>>
解决小程序在高层级页面滑动时,低层级页面会跟着滑动的问题
查看>>
子组件watch监听父组件数据,从而判断是否重新加载数据
查看>>
小程序码生成和解析问题
查看>>
小程序修改回答功能实现
查看>>
vue中 指令与函数的结合使用
查看>>
微信小程序更新授权接口wx.getUserProfile后,个别用户出现无法登录的问题
查看>>
微信小程序canvas绘制圆角矩形
查看>>
微信小程序canvas裁剪图片中间部分
查看>>
my docker tutorial
查看>>
gdb debug summary
查看>>