LeetCode 258. Add Digits(数位相加)
来源:互联网 发布:synapse2.0软件 编辑:程序博客网 时间:2024/05/19 23:12
原题网址: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?
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.
方法一:通过模拟数位相加的过程(循环或者递归)计算结果。
public class Solution { public int addDigits(int num) { if (num < 10) return num; int sum = 0; while (num > 0) { sum += num % 10; num /= 10; } return addDigits(sum); }}
方法二:通过数据样例分析找出规律。吓晕了,这是在提示下做出来的,可见分析简单数据样本找规律的重要性!
public class Solution { public int addDigits(int num) { if (num == 0) return 0; return (num-1)%9+1; }}
0 0
- LeetCode 258. Add Digits(数位相加)
- (LeetCode)Add Digits --- 整数各位相加
- Leetcode - Math -258. Add Digits(数位求和,规律题)
- 【LeetCode】 Add Digits 数字相加
- leetcode 258.Add Digits | leetcode 258 -数字相加
- LeetCode OJ 之 Add Digits (数字相加)
- [LeetCode-258] Add Digits(非负整数各位相加)
- LeetCode 258 Add Digits(数字相加,数字根)
- LeetCode Add Digits(计算数位的和)
- 【LeetCode】258.Add Digits
- LeetCode 258. Add Digits
- LeetCode : 258. Add Digits
- leetCode 258. Add Digits
- LeetCode 258. Add Digits
- 258. Add Digits LeetCode
- LeetCode 258. Add Digits
- LeetCode 258. Add Digits
- leetcode 258. Add Digits
- IBM SPSS Modeler 【3】 Kohonen聚类分析和直接分析法
- IBM SPSS Modeler 【3】 神经网络的生成
- IBM SPSS Modeler 【4】 神经网络模型的测试验证
- IBM SPSS Modeler 【5】 关联分析
- IBM SPSS Modeler 【6】 建立决策树
- LeetCode 258. Add Digits(数位相加)
- LeetCode 217. Contains Duplicate
- Android学习(10) -- 常见布局
- printf %d能输出最大的数是多少?
- LeetCode 73. Set Matrix Zeroes
- delphi 实现采集
- HTML Overview
- opencv轮廓检测之椭圆检测-----算法篇(12)--RANSAC
- 三和韓長庚 著 正易 對讀 001-040