LeetCode 444 序列重建(拓撲排序)

2021-10-08 22:59:43 字數 1270 閱讀 9118

驗證原始的序列 org 是否可以從序列集 seqs 中唯一地重建。

序列 org 是 1 到 n 整數的排列,其中 1 ≤ n ≤ 104。

重建是指在序列集 seqs 中構建最短的公共超序列。(即使得所有 seqs 中的序列都是該最短序列的子串行)。

確定是否只可以從 seqs 重建唯一的序列,且該序列就是 org 。

示例 1:

輸入:org:[1

,2,3

], seqs:[[

1,2]

,[1,

3]]輸出:

false

解釋:[1,

2,3] 不是可以被重建的唯一的序列,因為 [1,

3,2] 也是乙個合法的序列。

示例 2:

輸入:org:[1

,2,3

], seqs:[[

1,2]

]輸出:

false

解釋:可以重建的序列只有 [1,

2]。示例 3:

輸入:org:[1

,2,3

], seqs:[[

1,2]

,[1,

3],[

2,3]

]輸出:

true

解釋:序列 [1,

2],[

1,3] 和 [2,

3] 可以被唯一地重建為原始的序列 [1,

2,3]。

示例 4:

輸入:org:[4

,1,5

,2,6

,3], seqs:[[

5,2,

6,3]

,[4,

1,5,

2]]輸出:

true

class

solution

from = s[i];}

} queue<

int> q;

for(

int i =

1; i <= n;

++i)

int i =0;

while

(!q.

empty()

)}if(i != n)

return

false

;//有環

return

true;}

};

216 ms 45.2 mb

我的csdn部落格位址

444 序列重建

題目描述 驗證原始的序列 org 是否可以從序列集 seqs 中唯一地重建。序列 org 是 1 到 n 整數的排列,其中 1 n 104。重建是指在序列集 seqs 中構建最短的公共超序列。即使得所有 seqs 中的序列都是該最短序列的子串行 確定是否只可以從 seqs 重建唯一的序列,且該序列就...

30 序列構造

給定兩個長度為 n 的正整數序列 a a1,a2,an 和 b b1,b2,bn 現在你選擇 k 個數構成序列 p p1,p2,pk 使得 序列 p 中的元素是不重複的1 pi n 其中1 i k2 ap1 a pk 大於序列 a 所有元素的和2 bp1 b pk 大於序列 b 所有元素的和 k 小...

192220序列型別

序列表示索引未非負整數的有序物件集合,包括字串,列表,元祖。說明 舉例 元祖跟裡面的逗號相關 mytuple a b c d type mytuple 列表根中括號相關 mylist a b c d type mylist 字串跟雙引號有關 mystr a,b,c,d type mystr 適用於所...