Rechercher une sous-chaîne à l'aide de la fonction JavaScript
P粉098979048
P粉098979048 2023-09-13 11:04:31
0
1
527

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粉098979048
P粉098979048

répondre à tous(1)
P粉958986070

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"));
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal