435. 无重叠区间:
代码思路
dp超时,抽象成最长递增子序列。
class Solution:
def eraseOverlapIntervals(self, intervals: List[List[int]]) -> int:
n = len(intervals)
dp = [0 for i in range(n)]
intervals.sort(key=lambda x:x[0])
dp[0] = 1
i = 1
while i < n:
for j in list(range(i))[::-1]:
if intervals[j][1] <= intervals[i][0]:
dp[i] = max(dp[i], dp[j]+1)
if dp[i] == 0:
dp[i] = 1
i += 1
return n - max(dp)
763.划分字母区间:
代码思路
56. 合并区间:
代码思路