leetcode--add digits

来源:互联网 发布:mysql源码安装包下载 编辑:程序博客网 时间:2024/05/01 23:00

如果要用O(1)的时间完成,需要数根原理的知识。

树根的结果只有0到9。有计算式如下:

r(a)=1+(a-1)%9

对一某个自然数n有:

n为0时,r(n)=0

当n>0且 n%9==0 时,r(n)=9 。

因为9的倍数其实就是不断加9,个位减1,十位加1,结果是不变的。同样,一个数加个9的任意倍数,树根也是不变的

进一步,将n%9, 除了n是9的倍数的情况外(结果为0),其他的数根计算结果都是正确的。

为了将这种情况包含进去,用n-1来进行计算,然后结果再加上1就可以了。



0 0