首页 > 解决方案 > 变换数组的算法

问题描述

我想在执行此操作的数组上实现一个算法: [a,b,c,d,e,f] -> [a, b-a, c-b,d-c,e-d,f-e]

有人可以帮忙吗?谢谢

标签: javascriptarrays

解决方案


给定您的数组,我们可以使用以下方法达到预期的结果。

时间复杂度: O(n) - 使用.map()遍历输入数组的每个元素

空间复杂度: O(n) - 构建一个大小相等的数组作为输入。

const func = (arr) => {
    let joinedArray = [];
    let last = "";
    arr.forEach(elem => {
      toPush = elem + last
      last = "-" + elem
      joinedArray.push(toPush);
    })
    return joinedArray;
}

推荐阅读