电话区号搜索,最佳匹配字符串比较

时间:2019-04-25 16:29:21

标签: php algorithm

如果我有一组元组function showPosition(position) { document.getElementById("getlat").value = position.coords.latitude; document.getElementById("getlon").value = position.coords.longitude; lon=document.getElementById("getlon").value; lat=document.getElementById("getlat").value; document.frm1.submit(); <-- submits when browser gets the users location }

还有一个用于搜索[1, "abc"], [2, "abcd"], [3, "ab"], [4, "abcde"]的字符串,它应该给出最佳匹配项"ab"

如果要搜索的字符串为[3, "ab"],则它应与"abc"相匹配,因为它更精确地匹配。同样,[1, "abc"]将与"abcde"匹配。

如果要搜索的字符串为[4, "abcde"],则它将不匹配任何元组。搜索总是从字符串的开头开始。

有没有一种算法可以返回最佳匹配?

我正在做电话区号以进行位置搜索。我拥有的位数越多,我就能找到一个精确的位置。

1 个答案:

答案 0 :(得分:0)

一个想法,可能是最坏的还是最好的,我并不是说这是完美的。

您可以在存储的数据中搜索"ab",并且最好的结果也应该是[3, "ab"],以便您可以检查密钥的长度并将其与结果进行比较。平等的结果应该是最好的。

对于"ab"来说,长度为2。如果您得到的任何搜索结果也等于结果的长度,那是最好的。如果得到的结果是长度为3的结果,那么它应该是微笑的。