Add Digits (数根 digital root)
来源:互联网 发布:ubuntu切换到root 编辑:程序博客网 时间:2024/05/29 13:51
Given a non-negative integer num
, repeatedly add all its digits until the result has only one digit.
For example:
Given num = 38
, the process is like: 3 + 8 = 11
, 1 + 1 = 2
. Since 2
has only one digit, return it.
Follow up:
Could you do it without any loop/recursion in O(1) runtime?
循环求解的方法就不介绍了。
一个数循环相加得到的个位数(digital root, 数根) = 这个数 mod 9
digital root的介绍详见https://en.wikipedia.org/wiki/Digital_root
so
public class Solution { public int addDigits(int num) { if (num == 0) return 0; if (num % 9 == 0) return 9; return num % 9; }}
简化版
public class Solution { public int addDigits(int num) { return 1 + (num - 1)%9; }}
0 0
- Add Digits (数根 digital root)
- No.3 Add Digits (digital root)
- leetcode-258.add digits/Digital root
- Digital Root(数根推导)
- hdu1013 digital root(数根)
- 数根(digital root)公式的推导
- zju1115数字根Digital Root?
- 关于数字根(LeetCode Add Digits)
- Leetcode#258. Add Digits (数字根)
- Add Digits
- Add Digits
- Add Digits
- Add Digits
- Add Digits
- Add Digits
- Add Digits
- Add Digits
- Add Digits
- cocapods 更新第三方库遇到的问题
- Listview中div加载css出现混乱的解决办法
- 洛谷 P2246 SAC#1 - Hello World(升级版)
- background详解
- 牛顿迭代法求解
- Add Digits (数根 digital root)
- Java读取TXT文件的方法
- ionic2实现社会化分享Social Sharing
- HTML常用标签和CSS基本概述
- yii2 错误总结
- 内核模块编译-helloworld
- jquery开发框架遇到TAB页没有关闭按钮的处理办法。
- mybatis工作遇到的问题
- Linux下gcc/g++、make和cmake的区别