2023.2.19 初识leetCode

170 阅读1分钟

今天我注册了力扣的账号。虽然数据结构和算法我从没学过,但一直听说“程序 = 数据结构 + 算法”,这么牛的东西,我一直都想接触下,于是我注册了账号,进入了新手村。我做了第一道算法题:输入一个数组,输出另一个数组,这输出的数组在和输入的数组下标一样的时候,输出数组这一项等于输入数组此项和前面所有项之和。例如:输入--[1,2,3,4,5,6]输出--[1,3,6,10,15,21],实现这个函数。

小伙伴们可以先想想怎么做,我这里给出两种解法。

let arr = [1,2,3,4,5,6]

function add(arr) {
    let newArr = arr.map((e, i) => {
        //首先判断如果是第一项,就等于它本身
        if(i === 0) {
            retrun e;
        }
        //接下来就是不是第一项的元素了
        //while
        let count = arr[0];
        let num = 1;
        while(num <= i){
            count = count + arr[num];
            num++;
        }
        return count;
       });
       
       return newArr;
    
}

这第一种办法用while循环,接下来用第二种方法,for循环


let arr = [3,2,1];

function add(arr) {
    let newArr = arr.map((e, i) => {
        //首先判断如果是第一项,就等于它本身
        if(i === 0) {
            retrun e;
        }
        //for循环
        let count = arr[0];
        for(let a = 1; a <= i; a++) {
            count = count + arr[a];
        }
        return count;
    });
    return newArr;
}

路漫漫,其修远兮,吾将上下而求索。