leetcode-258-Add Digits
来源:互联网 发布:python 字典删除元素 编辑:程序博客网 时间:2024/05/18 02:04
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?
Hint:
- A naive implementation of the above process is trivial. Could you come up with other methods?
- What are all the possible results?
- How do they occur, periodically or randomly?
- You may find this Wikipedia article useful.
将一个数赋值为该数的各位相加和,直到该数只有一位数时,输出。
暴力求解。
class Solution {public: int addDigits(int num) { if (num < 10) return num; int tem; while (num > 9) { tem = num; num = 0; while (tem) { num += tem % 10; tem /= 10; } } return num; }};
找规律
例如,2,11,20,29 的最后答案都是2,他们与9取模都得2。
class Solution {public: int addDigits(int num) { if (num <= 9) return num; if (num % 9 == 0) return 9; return num % 9; }};
更简单的一种写法。
class Solution {public: int addDigits(int num) { return (num - 1)%9 + 1; }};
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?
Hint:
- A naive implementation of the above process is trivial. Could you come up with other methods?
- What are all the possible results?
- How do they occur, periodically or randomly?
- You may find this Wikipedia article useful.
- leetcode 258: Add Digits
- 258Add Digits - LeetCode
- leetCode #258 Add Digits
- [LeetCode 258] Add Digits
- LeetCode(258)Add Digits
- leetcode-258-Add Digits
- [leetcode 258]Add Digits
- [Leetcode]#258 Add Digits
- LeetCode 258----Add Digits
- LeetCode 258 : Add Digits
- 【LeetCode】258 Add Digits
- Leetcode - 258 - Add Digits
- leetcode 258 :Add Digits
- leetcode 258--Add Digits
- leetcode 258 Add Digits
- Leetcode #258 Add Digits
- LeetCode 258:Add Digits
- LeetCode 258:Add Digits
- 仿QQ 拖动小红点原理及其实现
- 什么是类发射
- [leetcode-273]Integer to English Words(java)
- Android自学笔记之ProgressBar进度条的属性、常用方法及使用
- freemarker各种转换
- leetcode-258-Add Digits
- 将 paired count 和unpaired count 相加
- 野人学Android基础篇之初探UI控件第六课--ListView和他的adapter们(四)
- Maven的Archetype简介
- 苹果应用提交的"Missing Push Notification Entitlement"警告
- Sublime Text 3安装与使用
- Android bitmap的拷贝以及平移旋转缩放等效果
- 破解wifi
- dom4j 读取某个元素的某个属性