海棠书屋 > 科幻小说 > 编程之战 > 第二百一四章 字符串相似度
    “假如我们的候选列表里有如下的内容:”

    有你最擅长的“javascript”。

    有一杯温醇的“java”。

    有简洁美的“ruby”。

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

    有胶水语言“python”。

    还有js低调的小兄弟“ffeescript”。

    “整个列表就像这样:”

    ['javascript','java','ruby','php','python','ffeescript']

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

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

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

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

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

    经理耐心地解释道。

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

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

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

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

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

    “明白了吧!”

    ()