cari

Rumah  >  Soal Jawab  >  teks badan

Cari subrentetan menggunakan fungsi JavaScript

Saya ingin menulis kod dalam bahasa JavaScript yang boleh mencari bilangan ulangan huruf dalam perkataan, seperti kod ini, tetapi dengan cara yang lebih pendek 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粉098979048488 hari yang lalu536

membalas semua(1)saya akan balas

  • P粉958986070

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

    Gunakan kaedah .substring().slice() dan bukannya gelung bersarang.

    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"));

    balas
    0
  • Batalbalas