3

リートコードの問題があります: 別個のサブシーケンスです。

文字列 S と文字列 T が与えられたとき、S 内の T の別個の部分列の数を数えます。残りの文字の相対位置。(つまり、「ACE」は「ABCDE」のサブシーケンスですが、「AEC」はそうではありません)。

以下に例を示します: S = "うさぎ"、T = "うさぎ" 3 を返します。


私の質問:

ここで、 「S 内の T の異なるサブシーケンスの数を数える」の意味がわかりません 。「r」、「ra」、「b」rab」、「rabt」などはすべて T のサブシーケンスだと思います。 、そしてそれらも S にある. しかし、リターンは答え "3" を返す. だから、私は問題を誤解したにちがいありません. 誰か私にそれを説明できますか?どうやって解決するか、練習としてやってみたいと思います。

4

2 に答える 2

0

S の 1 番目、2 番目、または 3 番目の "b" のいずれかを削除することで、S="rabbbit" から T="rabbit" を取得できます。したがって、可能なバリアントの数は 3 です。

于 2014-08-02T23:17:21.903 に答える
0

あなたは質問を誤解していると思います。S 内の T の別個のサブシーケンスの数を数えることは、S (ウサギ) 内に T (ウサギ) のユニークな出現がいくつあるかを意味します。

答えは次の3つです。

(太字は削除したもの)

ra b bbit == ウサギ

rab bビット == ウサギ

rabb b it == ウサギ

見る?「rabbit」という単語の3 つの異なるサブシーケンスが文字列「rabbbit」を取得しました。毎回違うキャラクターが削除されました。

于 2014-08-02T23:32:09.310 に答える