代码随想录算法训练营第36天| 435. 无重叠区间、763.划分字母区间、56. 合并区间

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. 合并区间:


代码思路


你可能感兴趣的:(代码随想录打卡,python,算法,数据结构)