菜鸟写给菜鸟的 ——LeetCode解题笔记 Easy-题目2:258. Add Digits

原创 2016年05月30日 19:42:14

题目原文:
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?
题目大意:
给一个正整数num,重复地计算每一个数位上数字之和,直到只剩一位数。
例如:给数字38,则3+8=11,1+1=2,那么返回2.
你可以不需要循环或递归,在O(1)时间完成它吗?
题目分析:
根据Hint中给出的wiki链接,这道题叫做数字根问题。求一个正整数n的数字根有如下公式: 因此可以一行解决。
源码:(language:c)

int addDigits(int num) {
    return 1+(num-1)%9;
}

成绩:
4ms,beats56.87% 众数:8ms 52.28%
Cmershen的碎碎念:
如果不给出hint,我是怎么也推不出这个公式。在这里感叹数学的强大,也希望有人能给出这个公式的证明。

版权声明:完整版Leetcode题解请出门左转https://github.com/cmershen1/leetcode/tree/master/docs

leetcode258-Add Digits(非负整数各位相加)

问题描述:Given a non-negative integer num, repeatedly add all its digits until the result has only one d...
  • will130
  • will130
  • 2016年04月19日 09:35
  • 350

谁说菜鸟不会数据分析(工具篇)---读书笔记

第2章 玩转数据分析 数据分析,它主要有三大作用现状分析、原因分析与预测分析。 数据分析可以分为两类:一是呈现现状的描述性分析;另外一种是基于历史数据的推断预测性分析 2.1 Excel数据...
  • pfm685757
  • pfm685757
  • 2015年11月24日 16:30
  • 880

Leetcode解题思路总结(Easy)

近来走上了Leetcode刷题之路,不过刷题背后更重要的是思路,掌握了方法,举一反三融会贯通。故在此我总结每道题的解题思路,按照题目从简单到难的顺序来列举。 292 Nim Game,传说中的一行...
  • luoshengkim
  • luoshengkim
  • 2015年12月17日 17:12
  • 2921

一天教你入门struts2

写在前面 自己也是一个java和java web的菜鸟,之前没有接触过java web方面的开发 想通过一个小项目,来熟悉struts2的开发流程 一个有趣的想法源于教研室项目上的一个功能实现–自动识...
  • zy416548283
  • zy416548283
  • 2015年06月05日 10:35
  • 2387

笔记:菜鸟教程-JavaScript

一、javaScript输出 1、javaScript可以通过不同的方式来输出数据。 (1)window.alert()弹出警告框。 (2)document.write()方法将内容写到html...
  • aSuncat
  • aSuncat
  • 2017年06月19日 14:36
  • 1093

菜鸟教程 Java 学习笔记 (基础教程)

1、Java 对象和类Java作为一种面向对象的语言,支持以下基本概念:多态、继承、封装、抽象、类、对象 实例、方法、重载。对象:对象是类的一个实例,有状态和行为。 类:类是一个模板,它描述一类对...
  • u010545480
  • u010545480
  • 2017年02月15日 16:28
  • 937

[翻译]angularjs 2.0官方新手入门教程(1)

http://alvinwei.blog.163.com/blog/static/2146661102016149298897/ 2016-02-04 11:36:46|  分类: A...
  • ztguang
  • ztguang
  • 2016年04月21日 23:26
  • 9056

[LeetCode-258] Add Digits(非负整数各位相加)

Given a non-negative integer num, repeatedly add all its digits until the result has only one digit...
  • xy010902100449
  • xy010902100449
  • 2015年10月11日 10:44
  • 831

ECharts实例开发学习笔记零

1、介绍       由于项目需要,近段时间一直在研究web可视化应用开发,而关于这方面网上的资源也比较丰富,常见的开源工具如ECharts、Highcharts、D3、P5等,初步的学习对比发现百度...
  • Qing_yun
  • Qing_yun
  • 2015年07月20日 16:07
  • 2207

MyBatis 菜鸟教程 1 环境配置

MyBatis MyBatis 本是apache的一个开源项目iBatis, 2010年这个项目由apache software foundation 迁移到了google code,并且改名为M...
  • JE_GE
  • JE_GE
  • 2017年01月10日 09:01
  • 1872
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:菜鸟写给菜鸟的 ——LeetCode解题笔记 Easy-题目2:258. Add Digits
举报原因:
原因补充:

(最多只允许输入30个字)