-
LeetCode-InterviewNotes: lrucache是软件工程技术面试中的核心原则
资源介绍
lru缓存leetcode
LIS(最长递增/递减子序列)
如何处理:从小处开始并向外扩展,跟踪
i
处的最长子序列。
运行时间:
O(N^2)
例子:
描述:给定一个未排序的整数数组,找出最长递增子序列的长度。
给定一个未排序的整数数组,找出最长递增子序列的长度。
class
Solution:
def
lengthOfLIS(self,
nums:
List[int])
->
int:
N
=
len(nums)
#
Recursive
def
dp(i,
j):
if
i
>=
N
or
j
>
i:
return
0
if
i
==
j:
return
max(1
+
dp(i+1,
j),
dp(i+1,
j+1))
if
nums[i]
>
nums[j]:
return
max(1
+
dp(i+1,
i),
dp(i+1,
j))
return
dp(i+1,
j)
return
dp(0,0)
--------------------------------------------------------------
#
DP
dp
=
[[0]
*
(N+1)
fo