我需要一种方法来将多个字符串与测试字符串进行比较,并返回与其非常相似的字符串:
TEST STRING: THE BROWN FOX JUMPED OVER THE RED COW
CHOICE A : THE RED COW JUMPED OVER THE GREEN CHICKEN
CHOICE B : THE RED COW JUMPED OVER THE RED COW
CHOICE C : THE RED FOX JUMPED OVER THE BROWN COW
Run Code Online (Sandbox Code Playgroud)
(如果我这样做的话)最接近"TEST STRING"的字符串应该是"CHOICE C".最简单的方法是什么?
我计划将其实现为多种语言,包括VB.net,Lua和JavaScript.此时,伪代码是可以接受的.如果您可以提供特定语言的示例,这也是值得赞赏的!
language-agnostic algorithm string-comparison levenshtein-distance
我刚刚编制了一个包含100万个地名的数据库.我将在一个自动完成的小部件中使用它来查找城市.很多这些地方都有重音......当用户输入没有重音的名字时,我希望能够找到记录.
为了做到这一点,我得到了第二列,其中包含名称的非重音副本.其中许多记录仍然是空白的,所以我想编写一个查询来填充它们.这是否可以直接在MySQL中进行?如果是这样,怎么样?
所以,
问题
从SQL我得到一个带字符串的数组(平面数组) - 让它成为
$rgData = ['foo', 'bar', 'baz', 'bee', 'feo'];
现在,我希望得到这个数组的对和三元组的可能组合(并且,通常情况下,4个元素的组合e tc).更具体一点:我的意思是数学意义上的组合(没有重复),即那些计数等于的组合

- 对于上面的数组,对于对和三元组都是10.
我的方法
我从映射可能的值开始
可能的数组选定项目.我目前的解决方案是指出一个元素被选为"1",否则为"0".对于上面的示例,将是:
foo bar baz bee feo 0 0 1 1 1 -> [baz, bee, feo] 0 1 0 1 1 -> [bar, bee, feo] 0 1 1 0 1 -> [bar, baz, feo] 0 1 1 1 0 -> [bar, baz, bee] 1 0 0 1 1 -> [foo, bee, feo] 1 0 1 0 1 -> [foo, baz, feo] …