258. Add Digits
来源:互联网 发布:手机淘宝怎么开不了店 编辑:程序博客网 时间:2024/05/20 14:43
题目
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?
思路
九余数定理
input: 0 1 2 3 4 …
output: 0 1 2 3 4 5 6 7 8 9 1 2 3 4 5 6 7 8 9 1 2 3 ….
代码
class Solution {public: int addDigits(int num) { //九余数定理 //input: 0 1 2 3 4 ... //output: 0 1 2 3 4 5 6 7 8 9 1 2 3 4 5 6 7 8 9 1 2 3 .... if(num == 0) { return 0; } return 1 + (num-1)%9; }};
0 0
- 258.Add Digits
- 【LeetCode】258.Add Digits
- 258. Add Digits
- LeetCode 258. Add Digits
- 258. Add Digits
- LeetCode : 258. Add Digits
- 258. Add Digits
- 258. Add Digits
- 258. Add Digits
- 258. Add Digits
- 258. Add Digits
- leetCode 258. Add Digits
- LeetCode 258. Add Digits
- 258. Add Digits LeetCode
- 258. Add Digits
- 258. Add Digits
- LeetCode 258. Add Digits
- 258. Add Digits
- 机器翻译评价指标之BLEU
- String跟StringBuffer区别
- 疑问
- C#生成随机汉字
- 算法课第1周第1题——20. Valid Parentheses
- 258. Add Digits
- C++复合类型--引用和指针
- Spark源码解析
- linux命令认识(含例子操作)-2017-2.16
- ahalei_23
- Android 解析Xml
- 首次运行React Native时遇到的问题
- 常用的 网络协议 端口号 总结
- 循环创建文件夹