如果我有一组元组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"]
,则它将不匹配任何元组。搜索总是从字符串的开头开始。
有没有一种算法可以返回最佳匹配?
我正在做电话区号以进行位置搜索。我拥有的位数越多,我就能找到一个精确的位置。
答案 0 :(得分:0)
一个想法,可能是最坏的还是最好的,我并不是说这是完美的。
您可以在存储的数据中搜索"ab"
,并且最好的结果也应该是[3, "ab"]
,以便您可以检查密钥的长度并将其与结果进行比较。平等的结果应该是最好的。
对于"ab"
来说,长度为2
。如果您得到的任何搜索结果也等于结果的长度,那是最好的。如果得到的结果是长度为3
的结果,那么它应该是微笑的。