recherche

Maison  >  Questions et réponses  >  le corps du texte

Rechercher une sous-chaîne à l'aide de la fonction JavaScript

Je souhaite écrire un code en langage JavaScript capable de rechercher le nombre de répétitions de lettres dans un mot, comme ce code, mais de manière plus courte 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粉098979048443 Il y a quelques jours499

répondre à tous(1)je répondrai

  • P粉958986070

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

    Utilisez la méthode .substring().slice() au lieu des boucles imbriquées.

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

    répondre
    0
  • Annulerrépondre