首页  >  问答  >  正文

使用JavaScript函数搜索子字符串

我想用JavaScript语言编写一段代码,可以搜索一个单词中字母的重复次数,就像这段代码一样,但是要用一种更简短的方式 o(n)。

function naiveSearch(long, short){
    var count = 0;
    for(var i = 0; i < long.length; i++){
        for(var j = 0; j < short.length; j++){
           if(short[j] !== long[i+j]) break;
           if(j === short.length - 1) count++;
        }
    }
    return count;
}
naiveSearch("lorielol loled", "lol")

P粉098979048P粉098979048372 天前447

全部回复(1)我来回复

  • P粉958986070

    P粉9589860702023-09-14 00:42:16

    使用.substring().slice()方法而不是嵌套循环。

    function naiveSearch(long, short) {
      var count = 0;
      for (var i = 0, limit = long.length - short.length; i < limit; i++) {
        if (long.substring(i, i + short.length) == short) {
          count++;
        }
      }
      return count;
    }
    
    console.log(naiveSearch("lorielol loled", "lol"));

    回复
    0
  • 取消回复