热搜:NVER 

关于similar_text的点子

2024-04-26 23:29:01
 关于similar_text的点子

关于similar_text的想法
今天在群里就similar_text起了分歧,百度良久无果,最后还是自己写的代码猜测的结果,但是不知道正确与否,所以发出来希望大家指导一下
比如:similar_text("Hello World","Hello Peter");
w3cschool给出的结果是7,但是开始认为应该是6因为匹配的相同位置只能是6
但是后来猜测不按位置就是7了。
然后就不按位置比较应该怎么比,又研究起来
最后得到一个还是不太统一但相对过的去的就是:
每个字符依次的比较,比较后就跳到下一个字符,不过第二个字符串应该是找到后的下一个位置。
比如 similar_text("021312","301221");
1.匹配第1个字符串的第0个字符0在第2个的第1个位置匹配到了
2.匹配第1个字符串的第1个字符2,但是要在第1次的匹配的位置也就是0的后面开始匹配在第二个字符串的第3个位置
2.匹配第1个字符串的第2个字符1,但是要在第2次的匹配的位置也就是第3个字符2的后面开始匹配在第二个字符串的第5个位置
这时第二个字符串已经匹配完了所以结束,最后得出的结果是3
不知道,这样分析对不对,请大神们不吝赐教

------解决方案--------------------
看一下源码不就知道了?
如果不想找的话,这里就有 http://topic.csdn.net/u/20120811/20/B0FE6AE4-4970-458E-8CE3-2D4793438D2E.html
------解决方案--------------------
相当于这样一个过程

PHP code
$a = "Hello World";
$b = "Hello Peter";
echo similar_text($a, $b), '
'; $i = 0; $j = 0; while($i