比奇屋

最新地址:www.biqi5.com
比奇屋 > 编程之战 > 第一百零八章 莫斯科的陌生人(下)

第一百零八章 莫斯科的陌生人(下)

字符串中的第一个字符,如果它出现在子序列中,那么它肯定是位于第一位置的,而不可能是第二,第三。

比如“abc”的第一个字符“a”,它在子序列“ac”中,就是处于第一位。

这个问题的关键在于,找出子序列中,始终出现在第一位的字符,它就是原字符串的第一个字符。

[“n“,“c“,“l“]

[“i“,“o“,“a“]

[“c“,“o“,“s“]

[“i“,“c“,“o“]

[“o“,“l“,“s“]

这五个子序列,满足这个条件的第一个字符是“n”,所以它就是原字符串的第一个字符。

然后,去掉“n”在子序列中的所有存在,继续找始终出现在第一位的字符。

[“c“,“l“]

[“i“,“o“,“a“]

[“c“,“o“,“s“]

[“i“,“c“,“o“]

[“o“,“l“,“s“]

可以发现“i”满足条件,而“c”不满足,因为它在第四个子序列中,出现在了第二的位置。

去掉“i”在子序列中的所有存在,继续查找。

[“c“,“l“]

[“o“,“a“]

[“c“,“o“,“s“]

[“c“,“o“]

[“o“,“l“,“s“]

“c”满足条件,去掉存在,继续查找。

[“l“]

[“o“,“a“]

[“o“,“s“]

[“o“]

[“o“,“l“,“s“]

“o”满足条件,去掉存在,继续查找。

[“l“]

[“a“]

比奇屋 www.biqi5.com