1055 形成字串的最短路徑

2021-10-24 18:48:41 字數 1035 閱讀 2253

題目描述:

對於任何字串,我們可以通過刪除其中一些字元(也可能不刪除)來構造該字串的子串行。

給定源字串 source 和目標字串 target,找出源字串中能通過串聯形成目標字串的子串行的最小數量。如果無法通過串聯源字串中的子串行來構造目標字串,則返回 -1。

示例 1:

輸入:source = 「abc」, target = 「abcbc」

輸出:2

解釋:目標字串 「abcbc」 可以由 「abc」 和 「bc」 形成,它們都是源字串 「abc」 的子串行。

示例 2:

輸入:source = 「abc」, target = 「acdbc」

輸出:-1

解釋:由於目標字串中包含字元 「d」,所以無法由源字串的子串行構建目標字串。

示例 3:

輸入:source = 「xyz」, target = 「xzyxz」

輸出:3

解釋:目標字串可以按如下方式構建: 「xz」 + 「y」 + 「xz」。

source 和 target 兩個字串都只包含 「a」-「z」 的英文小寫字母。

source 和 target 兩個字串的長度介於 1 和 1000 之間。

方法1:

主要思路:

(1)使用貪心的思想,讓target字串從頭開始,盡量的和source字串的序列進行匹配,並判斷更新後的位置是否變化,若是有變化,則更新該位置,否則,說明target**現了source中沒有的字元,直接返回-1即可;

class

solution

++k;

}//說明source沒有匹配的字元,返回-1

if(cur_pos==pos)

//更新位置

pos=cur_pos;

}return res;}}

;

字串狀態轉換 最短路徑

題目描述 給定兩個單詞 初始單詞和目標單詞 和乙個單詞字典,請找出所有的從初始單詞到目標單詞的最短轉換序列的長度 每一次轉換只能改變乙個單詞 每乙個中間詞都必須存在單詞字典當中 例如 給定的初始單詞start red 目標單詞end tax 單詞字典dict ted tex red tax tad ...

最短路 求最長最短路,求最短路的路徑

hdu 1595 find the longest of the shortest include include include include include include include include include include include include include defi...

A 最簡單的最短路 最短路徑

szu 2015 winter training day 6 a 最簡單的最短路 time limit 1000msmemory limit 32768kb64bit io format i64d i64u submit status practice hdu 1874 description 某省...