各位相加
来源:互联网 发布:mac os x 10.12黑苹果 编辑:程序博客网 时间:2024/04/29 04:47
给出一个非负整数 num
,反复的将所有位上的数字相加,直到得到一个一位的整数。
样例
给出 num
= 38。
相加的过程如下:3 + 8 = 11
,1 + 1 = 2
。因为 2
只剩下一个数字,所以返回 2
。
挑战
你可以不用任何的循环或者递归算法,在 O(1) 的时间内解决这个问题么?
递归法
public int addDigits1(int num) { return getResult(num); } public int getResult(int num) { if (num < 10) return num; int temp = num; int sum = 0; while (temp != 0) { sum += temp % 10; temp /= 10; } return getResult(sum); }
通过枚举发现有规律,即若数为9的倍数,则结果为9,若不是则各位相加的结果为对九取余.
public int addDigits(int num) { if (num == 0) return 0; int result = num % 9; if (result == 0) return 9; return result; }
阅读全文
0 0
- 各位相加
- 各位相加
- 各位相加
- 各位相加
- 各位相加
- LintCode:569 各位相加
- Java实现-各位相加
- LintCode-各位相加
- LintCode之各位相加
- Lintcode各位相加
- Lintcode各位相加
- 各位相加-LintCode
- LintCode560:各位相加
- 数字各位相加的规律
- 山理工acm各位数相加
- oracle实现数值型列值各位相加之和
- 将正整数各位相加简化为个位数
- (LeetCode)Add Digits --- 整数各位相加
- 签到
- 数据压缩实验六:MPEG音频编码实验
- bootstrop分页ssm
- spring中的jdk动态代理
- 在树莓派上安装和使用mySQL
- 各位相加
- 12C新功能--dgmgrl新命令--validate,DG主备之间的状态检查
- Python学习笔记(20)-文件和文件夹的移动、复制、删除、重命名
- Jmeter请求post,后台一直获取不到数据
- 不要说自己一无所有,光脚的不怕穿鞋的,不怕失败。这个失败,是你一辈子也无法挽回的
- 安卓反编译学习
- Scala入门到精通——第二十二节 高级类型 (一)
- IntelliSense: "const char *" 类型的实参与 "LPCTSTR" 类型的形参不兼容
- 【剑指offer】题41:和为s的两个数VS连续正整数之和为S