JavaScript 字符串中对应的最短距离
问题
我们需要编写一个JavaScript函数,该函数接受一串英文小写字母str作为第一个参数,以及一个存在于字符串str中的单个字符char作为第二个参数。
我们的函数应该准备并返回一个数组,对于字符串str中的每个字符,该数组包含它与由char指定的字符串中最近字符的距离。
例如,如果函数的输入是
输入
const str = 'somestring'; const char = 's';
输出
const output = [0, 1, 2, 1, 0, 1, 2, 3, 4, 5]
示例
以下是代码-
const str = 'somestring';
const char = 's';
const shortestDistance = (str = '', char = '') => {
const res = new Array(str.length).fill(Infinity)
let prev = Infinity
const handleIndex = (i) => {
if (str[i] === char) {
prev = i
}
res[i] = Math.min(res[i], Math.abs(i - prev), )
}
for (let i = 0; i < str.length; i++) {
handleIndex(i)
}
prev = Infinity
for (let i =str.length- 1; i >= 0; i--) {
handleIndex(i)
}
return res
}
console.log(shortestDistance(str, char));输出结果[ 0, 1, 2, 1, 0, 1, 2, 3, 4, 5 ]
热门推荐
1 训练狗狗基础
2 怎么训练狗狗笑
3 怎么训练狗狗卧下
4 上海狗狗训练基地
5 训练狗狗排便
6 狗狗基础训练
8 如何训练狗狗装死
9 狗狗站姿训练
10 狗狗训练用品
11 训练狗狗吧
12 狗狗要怎么训练
13 怎么训练狗狗玩球
14 训练狗狗唤回
15 狗狗训练躺下
16 狗狗训练指令
17 狗狗的训练技巧
18 狗狗不好训练