切換
舊版
前往
大廳
主題

ZeroJudge - e624: 10340 - All in All 解題心得

Not In My Back Yard | 2020-01-28 00:14:56 | 巴幣 0 | 人氣 109

題目連結:


題目大意:
給定兩個只包含英文字母的字串 s 、 t 。求 t 是否存在一子序列為 s ?
 


範例輸入:
sequence subsequence
person compression
VERDI vivaVittorioEmanueleReDiItalia
caseDoesMatter CaseDoesMatter


範例輸出:
Yes
No
Yes
No


解題思維:
從 s 的第一個字元開始。假設在 t 由左往右找到了該字元,位置為 p1 。接著的第二個字元就要從 p1 + 1 開始找,不能往回找(否則就不是子序列了),如果找得到則位置設為 p2 。第三個字元就要從 p2 + 1 開始找……以此類推。

如果 s 中的所有字元皆可以藉由以上的限制找到在 t 中的對應。則代表 t 有一子序列為 s ;反之,則否。

此次分享到此為止,如有任何更加簡潔的想法或是有說明不清楚之地方,也煩請各位大大撥冗討論。

創作回應

更多創作