class Solution(object):
def videoStitching(self, clips: 'List[List[int]]', T: int) -> int:
li = sorted(clips, key = lambda x: (x[0],x[1]))
#print(li)
lens = len(li)
if li[0][0]!=0:
return -1
if li[lens-1][1]<T:
return -1
count = 0
basetag = 0
i = 0
while i < len(li):
if li[i][0]<=basetag:
if li[i][1]>=T:
return count + 1
else:
i += 1
else:
count += 1
basetag = li[i-1][1]
if basetag >= T:
return count count += 1
return count

关键的代码是第3行,将二维数组排序,先按第一个数字从小到大,再按第二个数字从小到大。

设定basetag用于存储之前的剪辑的最大时刻,在开始时刻更晚的剪辑中,寻找开始时间小于上一个剪辑的结束时间的所有剪辑中的,结束时间最晚的一个剪辑。

leetcode1024的更多相关文章

  1. [Swift]LeetCode1024. 视频拼接 | Video Stitching

    You are given a series of video clips from a sporting event that lasted T seconds.  These video clip ...

随机推荐

  1. bzoj4398: 福慧双修

    正边权无向图,一条边两个方向权值不一定相同,求经过点1的最小简单环 简单环包含了点1的一条出边和一条入边,且这两条边不同,因此可以枚举这两条边的编号的二进制表示中哪一位不同,用最短路求此时的最优解,时 ...

  2. IDC:机房监控系统

    ylbtech-IDC:机房监控系统 机房监控系统主要是针对机房所有的设备及环境进行集中监控和管理的,其监控对象构成机房的各个子系统:动力系统.环境系统.消防系统.保安系统.网络系统等. 1.返回顶部 ...

  3. sql脚本长度限制及linux下文件切分

    无意翻出以前笔记,切分sql文件,每10万条加一个commit.半天都想不起来应用的场景,能想起来的再加上查的资料记录一下. 在Oracle数据库中,频繁的commit会引起大量Redo Log的物理 ...

  4. github_源码

      固定头部: hongyangAndroid/Android-StickyNavLayout:ListView 与ViewPager 滑动冲突处理,滑动到顶部固定位置停顿; ufo22940268/ ...

  5. [UE4]客户端-服务器模式

    客户端负责表现.服务器端负责数据. 以掉血为例: 一.玩家A砍了B一刀 二.服务器计算伤害,修改B的血量 三.把B的血量发给B,A砍B的动作发给所有能看到的玩家 四.客户端播放掉血量(如果允许可见), ...

  6. Android 按下home键,程序在后台运行,在设置中点击程序的启动时,会再次打开启动页的解决办法

    在onCreate()方法中增加如下代码即可: if (!isTaskRoot()) {  finish();  return;  }

  7. golang "text/template" 模板语法简明教程

    转自:https://www.cnblogs.com/Pynix/p/4154630.html [模板标签] 模板标签用"{{"和"}}"括起来   [注释] ...

  8. 02-Sockent客户端

    package com.day1; import java.io.IOException; import java.io.OutputStream; import java.net.Inet4Addr ...

  9. mac一些设置

    Mac自带了的JDK6,安装在目录:/System/Library/Java/JavaVirtualMachines/1.6.0.jdk/下. JDK8则需要自己到Oracle官网下载安装对应的版本. ...

  10. 腾讯微信被怼,iOS版微信不能打赏了

    2017年4月19日,估计很多有着大量粉丝的微信自媒体作者会感到很不爽,因为他们的苹果粉丝再也无法很爽快地.肆意.任性地打赏他们了,按目前iphone手机的占有率,估计打赏率会掉一半以上. 据微信派微 ...