gpt4 book ai didi

javascript - 如何递归查找字符串中的一组字符?

转载 作者:塔克拉玛干 更新时间:2023-11-03 03:49:07 26 4
gpt4 key购买 nike

我需要编写一个函数,给定一组字符 key 查找字符串 str 中出现的唯一实例的数量,这样

findKeys("fooo","foo") //returns 3
//foo-
//fo-o
//f-oo

findKeys("foobarfoo","obo") //returns 4]
//--ob----o
//-o-b---o-
//-o-b----o
//--ob---o-

以下是我到目前为止的函数,我不知道我遗漏了什么,但我只知道它没有找到所有实例,所以它没有正确地遍历字符串。

function findKeys(str, key) {
var count = count || 0;

if(str.length <= key.length || key.length === 1) {

if(str.slice(0, key.length) === key) {
return 1
}

return 0
}

if(str[0] === key[0]) {
count += findKeys(str.slice(1), key.slice(1))
}

count += findKeys(str.slice(1), key)

return count
}

最佳答案

只是删除

|| key.length === 1

来自您的功能。我不确定你为什么在那里 - 当 key.length 是 1 但 str.length 是> key.length 时最终会给出错误的结果(因为你没有考虑你跳过 str 和中的某些字符的情况用键匹配字符串后面的字符)。

关于javascript - 如何递归查找字符串中的一组字符?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33383031/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com