leetcode 1024. 视频拼接

2023-11-03

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

这道题和以前做过的一道跳台阶的题目比较像,可以用贪心算法来做。只是注意判断条件的设置。

public static int videoStitching(int[][] clips, int T) {
        Arrays.sort(clips,((o1, o2) -> o1[0]-o2[0]));
        int count=1;
        int end=0;
        int i=0;
        int begin=0;
        while(i<clips.length&&end<T){
            if(clips[i][0]>begin&&clips[i][1]>end){
                if(clips[i][0]>end){ //如果超过当前最右边界,说明不可完成
                    break;
                }
                count++;
                begin=end;
            }
            end=Math.max(end,clips[i][1]);
            i++;
        }
        return end<T?-1:count;
    }
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

leetcode 1024. 视频拼接 的相关文章

  • [c++] 大整数乘法(字符串乘法)

    include
  • codeforce刷题 1

    1 Sequence Pair Weight 题目大意 给定一个长度为 n 的数组 a 规定 i lt j 且 ai aj 为一个数对 求数组 a 的 所有连续子序列中有多少个这样的数对 输出总数 解题思路 易得如果一个一个子序列去遍历的话
  • 动态规划 - 切钢条 (python)

    博主在读 算法导论 时 看到了切钢条的自底向上的伪代码 就分享给大家 BOTTOM UP CUT ROD p n 1 let r 0 n be a new array 2 r 0 0 3 for j 1 to n 4 q 负无穷 5 for
  • 【HDLBits 刷题 12】Circuits(8)Finite State Manchines 27-34

    目录 写在前面 Finite State Manchines 2014 q3c m2014 q6b m2014 q6c m2014 q6 2012 q2fsm 2012 q2b 2013 q2afsm 2013 q2bfsm 写在前面 HD
  • 贪心算法力扣刷题练习(含思路与题解)

    贪心算法 保证每次操作都是局部最优 使得最终结果也是全局最优的 需要找到贪心的策略 使得每次的最优能保证全局最优 通常需要排序 根据排序需求 自定义比较函数 sort a begin a end vector
  • 剑指offer-11-数值的整数次方

    文章目录 0 问题 1 一般思路 2 最优方法 快速求幂算法 3 完整代码 0 问题 给定一个double类型的浮点数base和int类型的整数exponent 求base的exponent次方 保证base和exponent不同时为0 1
  • 【python】python求解矩阵的转置(详细讲解)

    博 主 米码收割机 技 能 C Python语言 公众号 测试开发自动化 获取源码 商业合作 荣 誉 阿里云博客专家博主 51CTO技术博主 专 注 专注主流机器人 人工智能等相关领域的开发 测试技术 python求解矩阵的转置 详细讲解
  • 【HDLBits 刷题 4】Verilog Language(4)Procedures 和 More Verilog Features 部分

    目录 写在前面 Procedures Alwaysblock1 Alwaysblock2 Always if Always if2 Always case Always case2 Always casez Always nolatches
  • 【C语言】杨氏矩阵

    题目描述 有一个数字矩阵 矩阵的每行从左到右是递增的 矩阵从上到下是递增的 请编写程序在这样的矩阵中查找某个数字是否存在 要求 时间复杂度小于O N 思路1 可以采用遍历方式一个个查找 但是这样时间复杂度为O N 不满足题目要求 思路2 先
  • 每日一题(day1)

    题目链接 方法一 使用栈进行中序遍历 class Solution public int kthSmallest TreeNode root int k stack
  • LeetCode刷题指南(一)

    以下是我个人做题过程中的一些体会 1 LeetCode的题库越来越大 截止到目前 已经有321个问题了 对于大多数人来说 没有时间也没有必要把所有题目都做一遍 时间充裕可以随意 刷个100题左右应该就差不多了 可以考虑序号为前100多的题目
  • 跟着英雄刷算法-因式分解和枚举

    补上前天落下的 题目一 int kthFactor int n int k int cnt 0 for int i 1 i lt n i if n i 0 k if 0 k return i return 1 题目二 int closest
  • 【刷题】华为笔试面试机考 [HJ5] - 进制转换

    题目地址 点击跳转 题目描述 写出一个程序 接受一个十六进制的数 输出该数值的十进制表示 输入描述 输入一个十六进制的数值字符串 注意 一个用例会同时有多组输入数据 请参考帖子https www nowcoder com discuss 2
  • 【数据结构--顺序表】移除元素(移除数组中等于val的元素,返回移除后数组新长度)

    题目描述 思路1 定义一个指针str指向首元素 遍历数组nums 如果 str val 则将该元素后面的所有元素前挪一位覆盖该元素 若 str val 则str 然而我们来看看这种写法的时间复杂度 我们可否将时间复杂度优化一下呢 由此想到第
  • 判断一个数是否为素数之费马测试

    费马测试被称为概率性素性测试 它判断的是 某个数是素数的概率大不大 如果P为素数 那么所有比P小的数Q都满足公式 QP mod P Q 即 例素数5的性质 比素数5小的数有4 3 2 1 那么 45 45 1024 mod 5 4 35 3
  • 剑指offer——day2

    题目一 思路 两次遍历 一次遍历出链表的元素个数 第二次依次插入数据 int reversePrint struct ListNode head int returnSize int i 0 struct ListNode cur head
  • sqllabs详解与知识点汇总(内含代码审计)

    sqllabs 1 65 详解 关于注释符的详解 SQL注入注释符 使用条件及其他注释方式的探索 impulse 博客园 cnblogs com HTTP请求方法 GET 对比 POST HTTP 方法 GET 对比 POST 菜鸟教程 r
  • 树的一些基础概念、堆和 python中heapq模块使用简介

    树定义 树是一种数据结构 比如 目录结构 树是由n个节点组成的集合 n 0 那么是一颗空树 n gt 0 那么存在一个节点为书的根节点 其他节点可分为m个子集 每个子集又为一棵子树 关于树的一些概念 根节点 例 A 叶子节点 不能分叉的节点
  • 【HDLBits 刷题 12】Circuits(8)Finite State Manchines 27-34

    目录 写在前面 Finite State Manchines 2014 q3c m2014 q6b m2014 q6c m2014 q6 2012 q2fsm 2012 q2b 2013 q2afsm 2013 q2bfsm 写在前面 HD
  • 7-22龟兔赛跑/PTA基础编程题目集

    7 22 龟兔赛跑 20分 乌龟与兔子进行赛跑 跑场是一个矩型跑道 跑道边可以随地进行休息 乌龟每分钟可以前进3米 兔子每分钟前进9米 兔子嫌乌龟跑得慢 觉得肯定能跑赢乌龟 于是 每跑10分钟回头看一下乌龟 若发现自己超过乌龟 就在路边休息

随机推荐

  • 开源大数据平台 集群搭建及使用

    1 Hadoop集群搭建及使用 1 集群规划 2 虚拟机准备 1 创建虚拟机 具体步骤不再展示 2 配置网络 ping外网 ping baidu com 如果ping不通 修改如下文件 vi etc sysconfig network sc
  • Flutter Icons内置图标库MaterialIcons大全

    Flutter 中的图标组件 Icon 专门用于显示图标 如 Icon Icons check rounded color Colors white size 18 图集预览
  • 报错解决方案1

    遇到报错 TypeError conv2d received an invalid combination of arguments got numpy ndarray Parameter Parameter tuple tuple tup
  • catkin build 的使用

    1 catkin build vs catkin make 初学的时候一般我们用catkin make 但是相较于catkin build而言 并没有那么好使 对比如下 catkin make 同时编译工作空间下的所有包 速度慢 不灵活 c
  • C++(11):生成随机字符串

    C 11 产生随机数 c 11 随机数 风静如云的博客 CSDN博客 介绍了如何生成随机数 可以基于随机数生成随机字符串 include
  • 华为OD机试 - 字符串划分(Java)

    题目描述 给定一个小写字母组成的字符串 s 请找出字符串中两个不同位置的字符作为分割点 使得字符串分成三个连续子串且子串权重相等 注意子串不包含分割点 若能找到满足条件的两个分割点 请输出这两个分割点在字符串中的位置下标 若不能找到满足条件
  • HTML中的table表格

    表格标签 分为行 tr 和列 td 行及列都可以进行合并操作 table 定义表格 tr 定义行 td 定义列 先有行 后有列 th 多用于表头 定义表格中头部 加粗 border 边框大小 bordercolor 边框的颜色 cellpa
  • Spring的两种动态代理:Jdk和Cglib 的区别和实现

    一 原理区别 java动态代理是利用反射机制生成一个实现代理接口的匿名类 在调用具体方法前调用InvokeHandler来处理 而cglib动态代理是利用asm开源包 对代理对象类的class文件加载进来 通过修改其字节码生成子类来处理 1
  • 重构——重构原则

    何谓重构 目的在于不改变软件可观察行为的前提下 提高其可理解性 降低其修改成本 重构可能会在软件内部做修改 但是对软件的外部行为造成很小改变 或者不造成改变 与之相比的是性能优化 为何重构 程序的设计会逐渐腐败 当人们只为了短期目的 或者未
  • 实用工具系列 - Pycharm插件推荐

    博客主页 Passerby Wang的博客 CSDN博客 系统运维 云计算 Linux基础领域博主 所属专栏 实用工具系列 上期文章 实用工具系列 Pycharm安装下载使用 如觉得博主文章写的不错或对你有所帮助的话 还望大家多多支持呀 关
  • 云计算虚拟化:k8s二进制Master主备集群部署

    一 前言 无论从成本还是效率上考虑 k8s都极占优势 基本代表了未来趋势 官网推荐kubeadm配置 虽然方便 但掩盖了许多细节问题 k8s虽然咋看仅仅是个容器编排工具 但涉及的相关知识面非常广泛 如果说大数据的相关知识你需要花N天 K8S
  • do{...} while(0) 用意

    linux内核和其他一些开源的代码中 经常会遇到这样的代码 do while 0 这样的代码一看就不是一个循环 do while表面上在这里一点意义都没有 那么为什么要这么用呢 实际上 do while 0 的作用远大于美化你的代码 查了些
  • 人工智能革命:从ANI到AGI的道路

    从ANI到AGI的道路为什么这么难 没有什么比学习创造一台像人类一样聪明的电脑这种难以置信的创造更能让人欣赏人类的智慧了 建造摩天大楼 将人类置于太空中 弄清楚大爆炸如何发生的细节 这些都比了解我们自己的大脑或如何制造像它一样酷的东西要容易
  • docker harbor的安装使用以及镜像上传和拉取

    目录 harbor harbor安装 harbor上传和拉取镜像 上传 1 登录Harbor 2 打标签 3 上传镜像 拉取 1 登录Harbor 2 拉取镜像 harbor harbor是一个开源的容器镜像仓库 可用于存储和分发docke
  • 电脑怎么加快网页打开速度?加快网速。

    电脑怎么加快网页打开速度 加快网速 更换合适的dns可以直接加快网页打开速度 1 使用软件更换dns 下载地址 2 手动输入dns 1 win R键 输入 ncpa cpl 2 依次点击连接的网络 属性 Internet协议版本 TCP I
  • 【每日一题】排序子序列(贪心)

    题目来源 牛客网 链接 排序子序列 题目描述 牛牛定义排序子序列为一个数组中一段连续的子序列 并且这段子序列是非递增或者非递减排序的 牛牛有一个长度为n的整数数组A 他现在有一个任务是把数组A分为若干段排序子序列 牛牛想知道他最少可以把这个
  • PTA程序设计类实验辅助教学平台-基础编程题--JAVA--7.3 用天平找小球

    import java util Scanner public class Main public static void main String args Scanner sc new Scanner System in
  • 【总线】I2C 通信协议

    目录 I2C 总线协议概述 参数总结 I2C 的工作原理 寻址 读 写位 数据帧 I2C数据传输的步骤 具有多个从机的单个主机 具有多个从机的多个主机 I2C的优缺点 优点 缺点 文章参考 I2C 总线协议概述 I2C 总线广泛应用在 OL
  • 在B站如何不动一根手指,就可以养成6级大佬?大四学生发明养号神器,看完你也会...

    杨净 发自 凹非寺 量子位 报道 公众号 QbitAI 如何像拥有一个小助手一样 每天帮你签到打卡 或许 现在利用GitHub Action定时任务就可以做到 而这个小助手 混迹b站 可以每天按时按点签到打卡 看视频投币 定期充电 每天任务
  • leetcode 1024. 视频拼接

    你将会获得一系列视频片段 这些片段来自于一项持续时长为 T 秒的体育赛事 这些片段可能有所重叠 也可能长度不一 视频片段 clips i 都用区间进行表示 开始于 clips i 0 并于 clips i 1 结束 我们甚至可以对这些片段自