美文网首页
Leetcode 数组--加一

Leetcode 数组--加一

作者: 雨飞飞雨 | 来源:发表于2018-10-18 09:40 被阅读48次

问题:加一

给定一个由整数组成的非空数组所表示的非负整数,在该数的基础上加一。

最高位数字存放在数组的首位, 数组中每个元素只存储一个数字。

你可以假设除了整数 0 之外,这个整数不会以零开头。

示例1:

输入: [1,2,3]
输出: [1,2,4]
解释: 输入数组表示数字 123。

示例2:

输入: [4,3,2,1]
输出: [4,3,2,2]
解释: 输入数组表示数字 4321。

这道题我一开始看的时候很懵逼,这是啥意思呀,后来才明白,就是一个数字加一的事儿,像上面两个的意思是,数组[1,2,3]表示数123,念一百二十三,在数字上加一就是124,表示成数组就是[1,2,4],那数组是[4,3,2,1]表示的数是4321,四千三百二十一,以此类推,数组[9,9,9]就是九百九十九了,9+1=10,逢十进一,这个就是这道题的关键了。
下面看我的答题:

let numberss = [9,9,9,9,9,9,9];

const plusOnes = (numbers,one)=>{
    let obj = {
        add:one,
        result:[],
    };

    let result = numbers.reduceRight((obj,num,index)=>{
        let add = obj.add;
        let result = obj.result;
        //加1
        let add_result = add+num;
        if(add_result>=10){
            let arr = add_result.toString().split("");
            obj.add = 1;
            obj.result = [parseInt(arr[1]),...result];
            console.log(index);
            if(index === 0){
                obj.result =[1,...obj.result];
            }
        }else{
            obj.add = 0;
            obj.result = [add_result,...obj.result];
        }
        return obj;

    },obj);

    return result.result;
};
plusOnes(numberss,1);

这里主要是用到了javascript的高阶函数,reduceRight,它的作用是从数组的右侧开始遍历,每一次返回的数据都会重新传入到函数中,直接遍历完成为止。
Over...

相关文章

  • LeetCode 数组 加一

    给定一个非负整数组成的非空数组,在该数的基础上加一,返回一个新的数组。 最高位数字存放在数组的首位, 数组中每个元...

  • Leetcode 数组--加一

    问题:加一 给定一个由整数组成的非空数组所表示的非负整数,在该数的基础上加一。 最高位数字存放在数组的首位, 数组...

  • LeetCode 每日一题 [27] 加一

    LeetCode 加一 [简单] 给定一个由整数组成的非空数组所表示的非负整数,在该数的基础上加一。 最高位数字存...

  • plus one/Multiply Strings

    题目1: leetcode 66给定一个数组表示非负整数,其高位在数组的前面,对这个整数加1思路:遍历数组的每位,...

  • JavaScript实现LeetCode第66题:加一

    首文发表在 JavaScript实现LeetCode第66题:加一 题目描述 给定一个非负整数组成的非空数组,在该...

  • Leetcode数组easy | 66. 加一

    给定一个由整数组成的非空数组所表示的非负整数,在该数的基础上加一。 最高位数字存放在数组的首位, 数组中每个元素只...

  • leetcode

    leetcode leetcode to practice leetcode ac code 数组专题 done ...

  • LeetCode基础算法-数组

    LeetCode基础算法-数组 算法 LeetCode 数组相关 1. 从排序数组中删除重复项 描述:给定一个排序...

  • 刷算法题遇到的新数据类型-—-BigInt

    今天在LeetCode做的一道关于 “加一” 的算法题,题目如下 `给定一个由整数组成的非空数组所表示的非负整数...

  • leetcode第4题 求两个数组的中位数

    @(LeetCode)[数组] leetcode 4 Median of Two Sorted Arrays描述:...

网友评论

      本文标题:Leetcode 数组--加一

      本文链接:https://www.haomeiwen.com/subject/fbcjzftx.html