LeetCode Add Digits
来源:互联网 发布:ubuntu 16.04 安装完 编辑:程序博客网 时间:2024/05/01 21:35
原题链接在这里:https://leetcode.com/problems/add-digits/
最基本的想法就是每一位相加知道成为个位数,但本题有follow-up, require O(1) time.
最后的结果只能是0-9,列数看结果,发现num%9对于大多数正数都合适,但corner case 9和9的倍数,本应该返回九,却返回了0,所以单独讨论。Method 3 是返回(num-1)%9+1, 避免了9与9的倍数corner case,但需要注意新的corner case num == 0,此时num==0需要单独讨论。
AC Java:
public class Solution { public int addDigits(int num) { if(num<0) return Integer.MIN_VALUE; if(num==0) return 0; /*Method 1 while(num/10 != 0){ int sum = 0; while(num>0){ sum+=num%10; num/=10; } num = sum; } return num; */ /*Method 2 if(num%9 == 0) return 9; return num%9; */ //Method 3 return (num-1)%9+1; }}
0 0
- [leetcode][math] Add Digits
- [leetcode] Add Digits
- 【leetcode】Add Digits【java】
- Leetcode: Add Digits
- LeetCode Add Digits
- [LeetCode] Add Digits
- leetcode 258: Add Digits
- LeetCode题解:Add Digits
- leetcode: Add Digits
- 258Add Digits - LeetCode
- leetCode #258 Add Digits
- [LeetCode 258] Add Digits
- LeetCode: Add Digits
- LeetCode:Add Digits
- leetcode--add digits
- leetcode Add Digits
- leetcode--Add Digits
- leetcode Add Digits
- 搜索分词技术
- ConcurrentHashMap原理分析
- 程序包com.sun.image.codec.jpeg不存在 问题的完美解决
- [机器学习]overfitting 和regularization
- HDU 1032 The 3n + 1 problem
- LeetCode Add Digits
- PCA(Principal Components Analysis)主成分分析
- POJ 3104 二分
- ThinkPad t440 Ubuntu14.04 RTL8192EE 无限网卡驱动安装
- HDU 1042 大数阶乘
- 介绍深度学习的一篇better文章
- Hello Triangle:OpenGL ES 2.0 版的“Hello world”
- 【Open】fans-rt 0.11 重要需求和遗留问题跟踪
- Http请求头和响应头