String 字符串比较相同顺序的字符数
我有 我需要一个函数(stA,stB),返回5(即匹配的字符数),注意这些字符的顺序必须相同 例如:String 字符串比较相同顺序的字符数,string,comparison,String,Comparison,我有 我需要一个函数(stA,stB),返回5(即匹配的字符数),注意这些字符的顺序必须相同 例如: Str A = "abcdef" Str B = "abcdf" 函数(stA、stB)对于“a”只返回1 伪代码很好 哦,顺便说一句,考虑到我所有的字符串都将我还没有完全测试它,但这似乎对您的测试用例起到了作用(在JavaScript中): Str A = "abcdef" Str B = "fedcba", 功能比较(a、b) { var aChars=a.split(“”); var
Str A = "abcdef"
Str B = "abcdf"
函数(stA、stB)
对于“a”只返回1
伪代码很好
哦,顺便说一句,考虑到我所有的字符串都将我还没有完全测试它,但这似乎对您的测试用例起到了作用(在JavaScript中):
Str A = "abcdef"
Str B = "fedcba",
功能比较(a、b)
{
var aChars=a.split(“”);
var bChars=b.分割(“”);
var匹配=[];
var-bStart=0;
对于(var i=0;i
基本上,我从字符串A的位置0开始,字符串B的位置0开始。当找到匹配项时,我更改搜索字符串B的开始位置,以便它跳过上一节
function compare(a, b)
{
var aChars = a.split('');
var bChars = b.split('');
var matches = [];
var bStart = 0;
for (var i=0; i < aChars.length; i++)
{
for (var j=bStart; j < bChars.length; j++)
{
if(aChars[i] == bChars[j])
{
matches.push(aChars[i]);
bStart = j;
break;
}
}
}
return matches.length;
}
compare('abcdef', 'abcdf'); // returns 5
compare('abcdef', 'fedcba'); // returns 1