我怎么能在javascript中获得类似的角色?

时间:2017-03-21 16:24:07

标签: javascript algorithm

欢迎

我需要比较javascript中的两个文本,如果主文本中存在任何字符并给出该字符的位置

示例:

  • 请输入第一个文字:Leen
  • 请输入第二个文字:Meen

我需要创建一个函数来检查Leen和Meen中的所有字符以获得相似的字符和输出必须是这样的

回答:een

任何人都可以帮助我吗?

1 个答案:

答案 0 :(得分:1)

这是我提出的算法: 这对小字符串工作正常,所以你不需要使用dp算法来提高性能,如果你试图在两个很长的字符串中找到共享子字符串,那么建议使用dp。

function a(text1, text2) {
  var maxPossibleLength = text2.length;
  var results = [];
  /*
  var result = {
    targetMatchIndex : 0,
    sourceMatchIndex: 0,
    matchString : ""
  };
  */
  while (maxPossibleLength > 0) {
    for (var i = 0; (i + maxPossibleLength) <= text2.length; i++) {
      var possibleSubstring = text2.substring(i, i + maxPossibleLength);
      var matchIndex = text1.indexOf(possibleSubstring);
      if (matchIndex > 0) {
        results.push({
          targetMatchIndex: matchIndex,
          sourceMatchIndex: i,
          matchString: possibleSubstring
        })
      }
    }
    //match max substring only
    if(results.length > 0) {
      break;
    }
    maxPossibleLength--;
  }
  return results;
}

console.log(a("13423323", "a23b"))