当前位置: 首页 > news >正文

lc1024-视频拼接

题目描述

  • 给定一些区间和一个数字 time,找到能覆盖 [0, time] 的最少区间数

示例

输入:clips = [[0,2],[4,6],[8,10],[1,9],[1,5],[5,9]], time = 10
输出:3
解释:选 [0,2], [8,10], [1,9]
输入:clips = [[0,1],[1,2]], time = 5
输出:-1
解释:找不到返回 -1
输入: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 开始,若区间包括标记点,更新右端点;若不包括,说明有点无法被覆盖
    • 思路不难,但需要注意临界点
func videoStitching(clips [][]int, time int) int {sort.Slice(clips, func(i, j int) bool {return clips[i][0] < clips[j][0]})cnt, ed := 0, 0for i := 0; i < len(clips); {if ed < clips[i][0] { return -1 }r := edfor i < len(clips)&& clips[i][0] <= ed {r = max(r, clips[i][1])i ++}cnt, ed = cnt + 1, rif time <= ed { return cnt }}return -1
}
http://www.wxhsa.cn/company.asp?id=1308

相关文章:

  • 多元统计分析1
  • OI界的梗
  • 202404_QQ_ZIP嵌套
  • 无重复字符的最长子串-leetcode
  • 两个常见的 计数问题 trick
  • 搜维尔科技:Xsens人形机器人拟人动作AI训练,提升机器人工作精度与效率
  • 202110_绿盟杯_隐藏的数据
  • 【初赛】图 - Slayer
  • 线上课
  • 弹窗、抽屉、当前页和新开页,到底怎么选? - 智慧园区
  • POJ 2566 Bound Found
  • 搜维尔科技:Haption触觉力反馈系统,沉浸式远程呈现、数字孪生、混合现实和移动远程机器人
  • 飞书免费企业邮箱推荐
  • CF1140F Extending Set of Points
  • Lark免费企业邮箱推荐
  • CMP 40HX在PVE9.0配置vGPU
  • 耶日奈曼:置信区间与假设检验的奠基者
  • 尚硅谷后台管理系统
  • Web语音聊天室中录音无声问题分析与解决方案
  • 25.9.11随笔联考总结
  • 20231314许城铭课上测试:Linux命令实践(AI)
  • 解决推理能力瓶颈,用因果推理提升LLM智能决策
  • sites(legal - Gon
  • vue3 使用 i18n-auto-extractor库 实现国际化
  • [题解]CF1404B Tree Tag
  • reLeetCode 热题 100-3 最长连续序列 - MKT
  • 123
  • pdf在纯html5移动端下不显示
  • 面试记录
  • GitHub Copilot 代码评审:用于自动评审的独立存储库规则