Add Digits
来源:互联网 发布:知乎 唯一视觉怎么样 编辑:程序博客网 时间:2024/05/01 07:59
https://leetcode.com/problems/add-digits/
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?
1 1
2 2
3 3
4 4
5 5
6 6
7 7
8 8
9 9
10 1
11 2
12 3
13 4
14 5
15 6
16 7
17 8
18 9
19 1
20 2
根据上面的列举,我们可以得出规律,每9个一循环,所有大于9的数的树根都是对9取余,那么对于等于9的数对9取余就是0了,为了得到其本身,而且同样也要对大于9的数适用,我们就用(n-1)%9+1这个表达式来包括所有的情况,所以解法如下:
class Solution {public: int addDigits(int num) { return (num-1)%9+1; }};
参考
http://www.cnblogs.com/grandyang/p/4741028.html
0 0
- Add Digits
- Add Digits
- Add Digits
- Add Digits
- Add Digits
- Add Digits
- Add Digits
- Add Digits
- Add Digits
- Add Digits
- Add Digits
- Add Digits
- Add Digits
- Add Digits
- Add Digits
- Add Digits
- Add Digits
- Add Digits
- Qt开发实例-贪吃蛇
- CSS权威指南-链接伪类
- ReactJs实战-让人沮丧的HelloWorld
- 12-002-2 XML文件的建立或者xml文件的本地输出(保存)
- 第二天的打字练习
- Add Digits
- Struts2 Result详解
- PS用圆角矩形工具画出来的是实线而是虚线,哪里出问题了?
- C#设计模式—解释器模式
- 从零开始的Hadoop学习之旅
- ios多线程 - NSThread 简介
- 菜鸟的安卓之路。2016.06.24
- Android 属性动画详解 二、ValueAnimator与插值器
- Spring @Transactional事务浅谈