gpt4 book ai didi

javascript - 改进游程编码算法

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

我有一个关于游程编码的字符串面试问题,我的解决方案是 O(n)。有什么办法可以改进吗:

  • 输入是AABBBCAAEE
  • 输出假设为A2B3C1A2E2

const firstString=(str)=>{
const arr = str.split('');
let counter = 1;
let result ='';
for (let i=0; i<arr.length; i++){
if(arr[i] === arr[i+1]){
counter++;
} else {
result +=arr[i]+counter;
counter = 1;
}
} return result
};
firstString('AABBBCAAEE');

最佳答案

改善这一点的一种方法是不执行拆分。字符串也是可索引的:

let firstString = (str) => {
if (str.length <= 0) {
return "";
}
const result = [];
result.push(str[0]);
let counter = 1;
for (let i = 1; i < str.length; i++) {
if (result[result.length - 1] === str[i]) {
counter++;
} else {
result.push(counter, str[i]);
counter = 1;
}
}
result.push(counter);
return result.join("");
};

关于javascript - 改进游程编码算法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49142549/

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