LeetCode题解(0718):最长重复子数组(Python)
发布日期:2021-06-29 20:09:30
浏览次数:3
分类:技术文章
本文共 926 字,大约阅读时间需要 3 分钟。
题目:(中等)
标签:二分查找、哈希表、数组、动态规划
解法 | 时间复杂度 | 空间复杂度 | 执行用时 |
---|---|---|---|
Ans 1 (Python) | O ( ( N 1 + N 2 ) × N 1 × l o g ( m i n ( N 1 , N 2 ) ) ) O((N1+N2)×N1×log(min(N1,N2))) O((N1+N2)×N1×log(min(N1,N2))) | O ( N 1 2 ) O(N1^2) O(N12) | 5964ms (28%) |
Ans 2 (Python) | |||
Ans 3 (Python) |
解法一(二分查找):
class Solution: def findLength(self, A: List[int], B: List[int]) -> int: def check(v): hashmap = set() for i in range(len(A) - v + 1): hashmap.add("".join(str(a) for a in A[i:i + v])) for i in range(len(B) - v + 1): if "".join(str(b) for b in B[i:i + v]) in hashmap: return True return False ans = 0 left, right = 0, min(len(A), len(B)) + 1 while left < right: mid = (left + right) // 2 if check(mid): ans = mid left = mid + 1 else: right = mid return ans
转载地址:https://dataartist.blog.csdn.net/article/details/109838524 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!
发表评论
最新留言
哈哈,博客排版真的漂亮呢~
[***.90.31.176]2024年05月01日 02时10分17秒
关于作者
喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
Vue学习笔记之路由的重定向和别名
2019-04-30
Vue学习笔记之路由组件传参
2019-04-30
Vue学习笔记之路由导航守卫
2019-04-30
Vue学习笔记之路由元信息
2019-04-30
Vue学习笔记之路由过渡动效
2019-04-30
Vue学习笔记之路由数据获取
2019-04-30
Vue学习笔记之路由滚动行为
2019-04-30
Vue学习笔记之路由懒加载
2019-04-30
Vue学习笔记之混入 (mixin)
2019-04-30
Vue学习笔记之自定义指令
2019-04-30
Vue学习笔记之Vuex学习---Vuex 是什么?
2019-04-30
Vue学习笔记之Vuex的核心概念State
2019-04-30
Vue学习笔记之Vuex的核心概念Getter
2019-04-30
Vue学习笔记之Vuex的核心概念Mutation
2019-04-30
Vue学习笔记之Vuex核心概念Action
2019-04-30
Vue学习笔记之Vuex的核心概念Module
2019-04-30
JavaScript数据结构与算法学习笔记之数组
2019-04-30
JavaScript数据结构与算法学习笔记之单链表
2019-04-30
JavaScript数据结构与算法学习笔记之双向链表(2)
2019-04-30
JavaScript数据结构与算法学习笔记之双向链表(1)
2019-04-30