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

小说:编程之战 作者:程序小猿 更新时间:2024-08-06 08:41:20 源网站:顶点小说
  字符串中的第一个字符,如果它出现在子序列中,那么它肯定是位于第一位置的,而不可能是第二,第三。

  比如“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“]

  [“s“]

  []

  [“l“,“s“]

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

  []

  [“a“]

  [“s“]

  []

  [“s“]

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

  []

  []

  [“s“]

  []

  [“s“]

  “s”满足条件,去掉存在。

  []

  []

  []

  []

  []

  此时,所有子序列均为空,查找结束。

  然后,将这些满足条件的所有字符,依次缀连在一起,就能获得重要线索。

  “nicolas(尼古拉斯)”。

  “就是你了!”

  杨成得出了结论,并没有停止思索。

  他发现这个算法有一个前提,那就是,原字符串要求没有重复的字母出现。

  如果有重复的字母,那这个算法就会失效。

  换句话说,这个前提降低了问题的难度。

  另外,给定的子序列是充足的,足以构成一个完整的字符串,这也是能够解题的关键。
为更好的阅读体验,本站章节内容基于百度转码进行转码展示,如有问题请您到源站阅读, 转码声明
八零电子书邀请您进入最专业的小说搜索网站阅读编程之战,编程之战最新章节,编程之战 顶点小说!
可以使用回车、←→快捷键阅读
本站根据您的指令搜索各大小说站得到的链接列表,与本站立场无关
如果版权人认为在本站放置您的作品有损您的利益,请发邮件至,本站确认后将会立即删除。
Copyright©2018 八零电子书