zoukankan      html  css  js  c++  java
  • 贪心_leetcode435

    #coding=utf-8

    # Definition for an interval.
    class Interval(object):
    def __init__(self, s=0, e=0):
    self.start = s
    self.end = e

    def compare1(x, y):
    if x.start < y.start:
    return -1
    elif x.start > y.start:
    return 1
    else:
    if x.end < y.end:
    return -1
    elif x.end > y.end:
    return 1
    else:
    return 0
    # 动态规划
    # 最长上升子序列
    class Solution1(object):
    def eraseOverlapIntervals(self, intervals):
    """
    :type intervals: List[Interval]
    :rtype: int
    """

    if not intervals:
    return 0

    intervals.sort(key=lambda x:(x.start,x.end))

    memo = [1 for i in range(len(intervals))]


    for i in range(1,len(intervals)):
    for j in range(i):
    if intervals[i].start >= intervals[j].end:
    memo[i] = max(memo[i],memo[j]+1)


    res = 0
    for i in range(len(memo)):
    res = max(res,memo[i])

    return len(intervals) - res

    # 贪心
    class Solution2(object):
    def eraseOverlapIntervals(self, intervals):
    """
    :type intervals: List[Interval]
    :rtype: int
    """
    if not intervals:
    return 0

    intervals.sort(key=lambda x: (x.end, x.start))

    res = 1

    pre = 0

    for i in range(1,len(intervals)):
    if intervals[i].start >= intervals[pre].end:
    res += 1
    pre = i



    return len(intervals) - res








  • 相关阅读:
    8.使用背景图,制作雪碧图效果
    7.使用定位制作轮播图样式
    6.使用定位,制作弹出框界面
    App 抓包代理设置
    Cypress 自动化环境搭建
    Android APP 性能测试之 GT 工具
    接口测试流程
    接口结构内容
    接口定义
    网络七层协议
  • 原文地址:https://www.cnblogs.com/lux-ace/p/10556877.html
Copyright © 2011-2022 走看看