我想用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") Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
使用
.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"));