LintCode 605 序列重构

原文首发自https://www.stdstring.com/2020/02/02/LintCode%20605%20%E5%BA%8F%E5%88%97%E9%87%8D%E6%9E%84/

题目描述

判断是否序列 org 能唯一地由 seqs重构得出. org是一个由从1到n的正整数排列而成的序列,1 ≤ n ≤ 10^4。 重构表示组合成seqs的一个最短的父序列 (意思是,一个最短的序列使得所有 seqs里的序列都是它的子序列).
判断是否有且仅有一个能从 seqs重构出来的序列,并且这个序列是org。

思路解析

这道题的关键之处在于理解“重构”的概念。拿下面的例子来说,对于seqs = [[1,2],[1,3],[2,3]]这三个子序列来说,必须同时满足这三个前后顺序,也就是说,这三个数组其实是给定了三个前后关系:

  • 1 必须在 2 的前面
  • 1 必须在 3 的前面
  • 2 必须在 3 的前面

这样,这道题就和课程表的题目非常相似了。所以,这道题目的关键也就是分层 BFS ,而且对于每一层,队列里的元素数目不能超过 1 个,也就是满足入度为 0 的元素最多只能有一个。因为假如同时有两个或以上元素满足入度为 0 的条件的话,此时就会有多个备选项可以选择,那么久不能满足“唯一”的要求了。

原文首发自https://www.stdstring.com/2020/02/02/LintCode%20605%20%E5%BA%8F%E5%88%97%E9%87%8D%E6%9E%84/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
课程目标 从零开始掌握Premiere影视剪辑的基础知识,学会视频剪辑+影视特效+视频调色+字幕制作 适用人群 PR零基础小白,在校大学生,职场新人,想成为影视剪辑、影视后期、短视频制作、自媒体等高手的朋友。 课程简介 课程以新版PR 2020讲解,可使用PR任意版本学习,绝大多数功能兼容旧版,但强烈建议使用新版本。【Adobe认证专家讲师精耕细作精品教程,非学院派照本宣科软件操作教程,以任务为导向,面向实际应用场景,每一章都能学会实打实的高手技能,讲解细致,小白也能轻松入门成大神!】课程好不好,看过就知道,前面的免费章节欢迎试看。本课程学习不需要任何PR基础,只需要电脑操作基础即可。兼容Windows和Mac操作系统,同时讲解两种系统下的快捷键操作,不用担心操作上的障碍问题。 课程特色 1、以实际PR影视编辑与特效的流程为导向,绝大多数内容都是为了完成某个具体任务,而不是为了讲解某个软件操作而凑数。2、不同于国内多数教程和书籍,每个知识点务求讲精、讲透,帮助你掌握PR的精髓,而非软件操作上的皮毛,让你真正学到PR的本质,一次学习,终身受用,少走弯路,节约生命。3、课程会随PR新版本的推出持续更新,不必担心有新功能却不知道怎么用。4、充足的练习题和作业题,让你在不断的练习和挑战中提升PR技能。 

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值