605. Sequence Reconstruction

Description

Check whether the original sequence org can be uniquely reconstructed from the sequences in seqs. The org sequence is a permutation of the integers from 1 to n, with 1 ≤ n ≤ 10^4. Reconstruction means building a shortest common supersequence of the sequences in seqs (i.e., a shortest sequence so that all sequences in seqs are subsequences of it). Determine whether there is only one sequence that can be reconstructed from seqs and it is the org sequence.

Example

Example 1:

Input:org = [1,2,3], seqs = [[1,2],[1,3]]

Output: false

Explanation:

[1,2,3] is not the only one sequence that can be reconstructed, because [1,3,2] is also a valid sequence that can be reconstructed.

Example 2:

Input: org = [1,2,3], seqs = [[1,2]]

Output: false

Explanation:

The reconstructed sequence can only be [1,2].

Example 3:

Input: org = [1,2,3], seqs = [[1,2],[1,3],[2,3]]

Output: true

Explanation:

The sequences [1,2], [1,3], and [2,3] can uniquely reconstruct the original sequence [1,2,3].

Example 4:

Input:org = [4,1,5,2,6,3], seqs = [[5,2,6,3],[4,1,5,2]]

Output:true

思路:

刚开始看题可能比较糊涂,最后会发现实际上是判断org是否是seqs的唯一拓扑排序, 就转换成BFS求拓扑排序的问题, 难点就是如何构件图及获得每个点的入度, 这个题先得到了每个点后续的点,并且用set排除了重复的可能, 然后根据这个信息去计算入度。

还要注意是否存在唯一拓扑序的条件是队列中是否永远只有一个点,即不存在分叉。

还有结构化的编程会让代码可读性增强。

代码:


©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • rljs by sennchi Timeline of History Part One The Cognitiv...
    sennchi阅读 7,909评论 0 10
  • **2014真题Directions:Read the following text. Choose the be...
    又是夜半惊坐起阅读 11,484评论 0 23
  • Check whether the original sequence org can be uniquely r...
    greatseniorsde阅读 459评论 0 0
  • “看见你们的车,我太激动了"车门刚一打开就快速闪进了一位姑娘。一袭蓝色薄纱的连衣裙,扎个马尾,戴着眼镜,脸...
    兰贵雪阅读 695评论 6 12
  • 每次写文章,我总是有很大的心理负担,怕写的逻辑不通顺,怕词语不准确,怕感情不动人,所以每次开始写就很纠结痛苦,...
    荣轩11阅读 525评论 0 1

友情链接更多精彩内容