Leetcode基础篇30天30题系列之数组:模拟计算法

  

<强>丁宋涛

  

数组:加一
题干:
给定一个由整数组成的非空数组所表示的非负整数,在该数的基础上加一。
最高位数字存放在数组的首位,数组中每个元素只存储一个数字。
你可以假设除了整数0之外,这个整数不会以零开头。
参考样例:
示例1:
输入:[1,2,3]
输出:(1、2、4)
解释:输入数组表示数字123。
示例2:
输入:[4、3、2、1]
输出:[4、3、2、2]
解释:输入数组表示数字4321。
这道题是一道数组的基础题,其本质是一道模拟计算题。
这道题有一定的工程应用意义,大家都知道,计算机的浮点数运算有误差,究其细节有相当数量的开发者却往往不求甚解。请看:
做开发的朋友都知道计算机在程序处理中,都是将十进制数转成二进制数进行运算的。对于这种转化,其方法就是除2逆向取余法,例如:
十进制数13转成二进制的方法就是
 Leetcode基础篇30天30题系列之数组:模拟计算法”> <br/>转化成数学表达式就是(13)? ?=(1101)? <br/>对于十进制小数转化成二进制小数使用的方法是乘2正向取整法,比如十进制的0.75 <br/>即(0.75)? ?=(0.11)? <br/> <img src=Leetcode基础篇30天30题系列之数组:模拟计算法