力扣1024视频拼接
1、1024. 视频拼接
你将会获得一系列视频片段,这些片段来自于一项持续时长为 time
秒的体育赛事。这些片段可能有所重叠,也可能长度不一。
使用数组 clips
描述所有的视频片段,其中 clips[i] = [starti, endi]
表示:某个视频片段开始于 starti
并于 endi
结束。
我们需要将这些片段进行再剪辑,并将剪辑后的内容拼接成覆盖整个运动过程的片段([0, time]
)。返回所需片段的最小数目,如果无法完成该任务,则返回 -1
。
输入:clips = [[0,2],[4,6],[8,10],[1,9],[1,5],[5,9]], time = 10
输出:3
解释:
选中 [0,2], [8,10], [1,9] 这三个片段。
然后,按下面的方案重制比赛片段:
将 [1,9] 再剪辑为 [1,2] + [2,8] + [8,9] 。
现在手上的片段为 [0,2] + [2,8] + [8,10],而这些覆盖了整场比赛 [0, 10]。
输入:clips = [[0,1],[1,2]], time = 5
输出:-1
解释:
无法只用 [0,1] 和 [1,2] 覆盖 [0,5] 的整个过程。
输入: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]], time = 9
输出:3
解释:
选取片段 [0,4], [4,7] 和 [6,9] 。
输入:clips = [[0,4],[2,8]], time = 5
输出:2
解释:
注意,你可能录制超过比赛结束时间的视频。
解析
先将所有视频按照开始时间升序排序如果开始时间相同再按照结束时间降序排序
这样就贪心选择了每一个尽可能长的区间
代码
class Solution {public int videoStitching(int[][] clips, int time) {if(time== 0) return 0;Arrays.sort(clips,(a,b)->{if(a[0]==b[0]){return a[1]-b[1];}return a[0]-b[0];});int count=0;int i=0,n=clips.length;int cur_end=0,next_end=0;while(i<n && clips[i][0]<=cur_end){while(i<n && clips[i][0]<=cur_end){next_end=Math.max(next_end,clips[i][1]);i++;}count++;cur_end=next_end;if(cur_end>=time) return count;}return -1;}
}
力扣1024视频拼接相关推荐
- leetcode - 1024. 视频拼接
1024. 视频拼接 -------------------------------------------- 你将会获得一系列视频片段,这些片段来自于一项持续时长为 T 秒的体育赛事.这些片段可能有 ...
- 1024. 视频拼接 的两种解法
1024. 视频拼接 1,动态规划 2,贪心 待续 你将会获得一系列视频片段,这些片段来自于一项持续时长为 T 秒的体育赛事.这些片段可能有所重叠,也可能长度不一. 视频片段 clips[i] ...
- Leetcode 1024 - 视频拼接
题目 Leetcode题目 - 1024. 视频拼接 你将会获得一系列视频片段,这些片段来自于一项持续时长为 T 秒的体育赛事.这些片段可能有所重叠,也可能长度不一. 视频片段 clips[i] 都用 ...
- 力扣1024活动 根据你手中的卡片判断能否合成1024 Java程序
力扣1024活动 根据你手中的卡片判断能否合成1024 Java程序 程序思路 说明 代码 部分输出结果 程序思路 暴力列举所有的可能,然后挑选出其中的所有能合成1024的解 说明 将自己的数字卡和符 ...
- Leetcode.1024 视频拼接
题目链接 Leetcode.1024 视频拼接 Rating : 1746 题目描述 你将会获得一系列视频片段,这些片段来自于一项持续时长为 time秒的体育赛事.这些片段可能有所重叠,也可能长度不一 ...
- 1024. 视频拼接 (dp / 贪心)
LeetCode: 1024. 视频拼接 挺有意思的文字类答题游戏: 1024 程序员的奇幻冒险 1024 节日 >> 我应该自己先磨出这道题 >> 再去看解法 贪心 [×]动 ...
- 1024. 视频拼接(动态规划)
/*** 1024. 视频拼接* @author wsq* @date 2020/10/24你将会获得一系列视频片段,这些片段来自于一项持续时长为 T 秒的体育赛事.这些片段可能有所重叠,也可能长度不 ...
- [LeetCode]1024. 视频拼接
1024. 视频拼接 题目地址:https://leetcode-cn.com/problems/video-stitching/ 动态规划 // 动态规划方法 // dp[index] 为到位置 i ...
- 1024.视频拼接-中等-贪心算法
你将会获得一系列视频片段,这些片段来自于一项持续时长为T秒的体育赛事.这些片段可能有所重叠,也可能长度不一. 视频片段clips[i]都用区间进行表示:开始于clips[i][0]并于 clips[i ...
最新文章
- 线程五种状态(新建、就绪、运行、阻塞、死亡)
- Java Magic. Part 5: SecurityManager
- 皮一皮:现在当爹妈的不容易...
- 谈谈数据库中MyISAM与InnoDB区别
- ansible图形化界面开源_MySQL常见的图形化工具
- python中的[-1]、[:-1]、[::-1]、[n::-1]
- Linux客户端权限,linux用户与权限使用方法
- IE选项中的高级选项卡“启用内存保护帮助减少联机攻击”是灰色的,不能把前面的勾选取消掉
- 最近做了个数据采集的工具
- 一篇文章搞懂BIM技术的要点和前景
- AI 人工智能学习之需要具备的基础知识
- 先是艾瑞咨询后是腾讯,永洪科技把客户变成了投资人
- 宝可梦合体再次流行?Pokemon Fusion的技术实现
- 如何实现汇川PLC和工业机器人的协议解析与数据采集?
- 车身控制器BCM系统功能规范
- zzulioj 1029: 三角形判定
- 首款鸿蒙手机,华为首款鸿蒙手机入网:不是P50系列
- oracle 表分析 分区,细化解析:Oracle表分区
- python计算列表中位数的函数_python的列表List求均值和中位数实例
- js控制keyframes
热门文章
- Android电视直播 v5.6,龙龙直播app下载|龙龙直播apk2019官方版下载 v5.6.1 安卓版 - 数码资源网...
- 反射在Java编程中的应用
- Aquarius 水瓶
- unity井字棋和一些重要概念(中山大学3D游戏作业2)
- 立创EDA学习笔记(3)——PCB绘制
- Circular Barn Revisited (区间DP)
- 捷俊通无人值守自动称重过磅智能系统智能地磅
- VoxCeleb2:深度说话人识别
- 微服务之RPC(远程过程调用)的四种方式
- 以下代码可以屏蔽掉alt+f4