题目描述:
你将会获得一系列视频片段,这些片段来自于一项持续时长为 T 秒的体育赛事。这些片段可能有所重叠,也可能长度不一。
视频片段 clips[i] 都用区间进行表示:开始于 clips[i][0] 并于 clips[i][1] 结束。我们甚至可以对这些片段自由地再剪辑,例如片段 [0, 7] 可以剪切成 [0, 1] + [1, 3] + [3, 7] 三部分。
我们需要将这些片段进行再剪辑,并将剪辑后的内容拼接成覆盖整个运动过程的片段([0, T])。返回所需片段的最小数目,如果无法完成该任务,则返回 -1

示例 1:
输入:clips = [[0,2],[4,6],[8,10],[1,9],[1,5],[5,9]], T = 10
输出:3
解释:
我们选中 [0,2], [8,10], [1,9] 这三个片段。
然后,按下面的方案重制比赛片段:
将 [1,9] 再剪辑为 [1,2] + [2,8] + [8,9] 。
现在我们手上有 [0,2] + [2,8] + [8,10],而这些涵盖了整场比赛 [0, 10]。

示例 2:
输入:clips = [[0,1],[1,2]], T = 5
输出:-1
解释:
我们无法只用 [0,1] 和 [1,2] 覆盖 [0,5] 的整个过程。

示例 3:
输入:clips = [[0,1],[6,8],[0,2],[5,6],[0,4],[0,3],[6,7],[1,3],[4,7],[1,4],[2,5],[2,6],[3,4],[4,5],[5,7],[6,9]], T = 9
输出:3
解释:
我们选取片段 [0,4], [4,7] 和 [6,9] 。

示例 4:
输入:clips = [[0,4],[2,8]], T = 5
输出:2
解释:
注意,你可能录制超过比赛结束时间的视频。

提示:
1 <= clips.length <= 100
0 <= clips[i][0] <= clips[i][1] <= 100
0 <= T <= 100

方法1:
主要思路:解题汇总链接
(1)贪心;
(2)将原数组进行排序,然后找在需要增加一个视频时,最长可以达到的长度;

class Solution {public:int videoStitching(vector<vector<int>>& clips, int T) {if(T==0){//处理特殊的情形return 0;}sort(clips.begin(),clips.end());//排序if(clips[0][0]!=0){//说明没有开始的视频内容,直接返回return -1;}int cur_right=0;//在增加一个视频时,能够达到的最右边的时间边界int counts=0;//当前增加了几个视频了int index=0;//遍历数组while(index<clips.size()){int tmp=-1;//辅助变量,找出当前边界下,增加一个视频时,可以达到的最右边的边界while(index<clips.size()&&clips[index][0]<=cur_right){tmp=max(tmp,clips[index][1]);++index;              }if(tmp==-1){//说明中间视频缺失了,没有填充的视频内容,直接返回-1return -1;}++counts;//增加一个视频cur_right=tmp;//更新当前右边界if(cur_right>=T){//若当前右边界达到了T的范围,则直接返回return counts;}}return -1;//说明没有达到右边界,返回-1}
};

1024 视频拼接相关推荐

  1. leetcode - 1024. 视频拼接

    1024. 视频拼接 -------------------------------------------- 你将会获得一系列视频片段,这些片段来自于一项持续时长为 T 秒的体育赛事.这些片段可能有 ...

  2. 力扣1024视频拼接

    1.1024. 视频拼接 来源力扣解析:1024力扣题解 难度中等261 你将会获得一系列视频片段,这些片段来自于一项持续时长为 time 秒的体育赛事.这些片段可能有所重叠,也可能长度不一. 使用数 ...

  3. Leetcode 1024 - 视频拼接

    题目 Leetcode题目 - 1024. 视频拼接 你将会获得一系列视频片段,这些片段来自于一项持续时长为 T 秒的体育赛事.这些片段可能有所重叠,也可能长度不一. 视频片段 clips[i] 都用 ...

  4. 1024. 视频拼接 的两种解法

    1024. 视频拼接 1,动态规划 2,贪心 待续   你将会获得一系列视频片段,这些片段来自于一项持续时长为 T 秒的体育赛事.这些片段可能有所重叠,也可能长度不一.   视频片段 clips[i] ...

  5. Leetcode.1024 视频拼接

    题目链接 Leetcode.1024 视频拼接 Rating : 1746 题目描述 你将会获得一系列视频片段,这些片段来自于一项持续时长为 time秒的体育赛事.这些片段可能有所重叠,也可能长度不一 ...

  6. 1024. 视频拼接 (dp / 贪心)

    LeetCode: 1024. 视频拼接 挺有意思的文字类答题游戏: 1024 程序员的奇幻冒险 1024 节日 >> 我应该自己先磨出这道题 >> 再去看解法 贪心 [×]动 ...

  7. 1024. 视频拼接(动态规划)

    /*** 1024. 视频拼接* @author wsq* @date 2020/10/24你将会获得一系列视频片段,这些片段来自于一项持续时长为 T 秒的体育赛事.这些片段可能有所重叠,也可能长度不 ...

  8. [LeetCode]1024. 视频拼接

    1024. 视频拼接 题目地址:https://leetcode-cn.com/problems/video-stitching/ 动态规划 // 动态规划方法 // dp[index] 为到位置 i ...

  9. 1024.视频拼接-中等-贪心算法

    你将会获得一系列视频片段,这些片段来自于一项持续时长为T秒的体育赛事.这些片段可能有所重叠,也可能长度不一. 视频片段clips[i]都用区间进行表示:开始于clips[i][0]并于 clips[i ...

  10. leetcode 1024.视频拼接

    leetcode 1024.视频拼接 题干 你将会获得一系列视频片段,这些片段来自于一项持续时长为 T 秒的体育赛事.这些片段可能有所重叠,也可能长度不一. 视频片段 clips[i] 都用区间进行表 ...

最新文章

  1. Spark MLlib实现的中文文本分类–Naive Bayes
  2. 张孝祥Java培训视频及孙鑫java视频网址
  3. Andriod绘图的基础知识
  4. 数据结构—什么叫满K叉树?
  5. 实现点击按钮后,倒计时60秒才能再次点击
  6. php post nginx 400,Nginx静态文件响应POST请求 提示405错误的解决方法
  7. 这几个截图文字识别软件可以自动识别文字
  8. Spring Environment全解析
  9. RAID介绍及RAID5配置实例(超详细)
  10. PO(PageObject)模型
  11. 高通WLAN框架学习(17)-- NIO和PNO
  12. 32位系统和64的区别c语言,32位 与 64 位 区别 : CPU 操作系统 应用程序...
  13. java基于微信小程序的校园二手闲置商品交易平台 uinapp 计算机毕业设计
  14. java 向下转型运行时错误_8.5.2 向下转型与运行类型异常
  15. IPv6下DHCPv6协议(RFC3315)详细介绍
  16. 【算法】倒水游戏(BFS|C++)
  17. 微星主板在有RAID的情况下在NVME的SSD上安装Win10
  18. Direct3D基础——Direct3D概述
  19. 机械革命s3和机械革命s3pro的区别 哪个好
  20. leetcode:1838. 最高频元素的频数【排序 + 前缀和 + 二分 + 思维】

热门文章

  1. Hyper-V Default Switch 无法访问外部网络解决方案
  2. 分析游戏中的金钱交易:Multi-view Attention Networks
  3. 快速了解:“华为的 HMS、鸿蒙系统” 和 “谷歌的 GMS”
  4. Android集成谷歌定位sdk,概述-Android 定位SDK | 高德地图API
  5. 《机器学习实战》 Logistic回归预测患有疝气病的马的存活问题
  6. java中怎么恢复label初始字体,更改默认的JLabel字体
  7. Android水印字体,android实现文字水印效果 支持多行水印
  8. 行业的英语术语大全之化妆品
  9. 【树的四种遍历方法(遍历排序二叉树)】
  10. python实现SHA-256加密