您的位置:首页 > 其它

leetcode--add digits

2015-08-26 16:36 190 查看
如果要用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就可以了。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: