编程之战 第二百一四章 字符串相似度
作者:程序小猿的小说      更新:2019-05-23

  “假如我们的候选列表里有如下的内容:”

  有你最擅长的“javascript”。

  有一杯温醇的“java”。

  有简洁美的“ruby”。

  有世界上最好的语言“php”。

  有胶水语言“python”。

  还有JS低调的小兄弟“coffeescript”。

  “整个列表就像这样:”

  [‘javascript‘,‘java‘,‘ruby‘,‘php‘,‘python‘,‘coffeescript‘]

  “假如用户在输入框键入了heaven(天堂)”。

  “请将列表按照和heaven的字符串相似度进行排序”。

  “相似度越高,排名越靠前”。

  听到这里,杨成思索了片刻,他提出疑问。

  “这个相似度参照的依据是什么呢?”

  经理耐心地解释道。

  “依据就是从一个字符串转换为列表内某个字符串,所需要的最少操作次数”。

  “这个操作可以是新增字符,修改字符,删除字符”。

  “比如从字符串berr,转换为beer,只需要修改r为e,也就是一次操作”。

  “而从berr,转换为barrel,需要修改e为a,并且新增e,新增l,也就是三次操作”。

  “所以berr和beer的字符串相似度更高,beer的排名比barrel更高”。

  “明白了吧!”