LeetCode 之 Add Digits

原创 2015年11月18日 23:29:55

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 = 111 + 1 = 2. Since 2 has only one digit, return it.

Follow up:

Could you do it without any loop/recursion in O(1) runtime?

LeetCode前面的题都比较简单,有几个是关于数字规律的,如果能找到的话,很快就能解决,难度不在代码上的。最基本的方法是列举法从0到30我们就能很确定规律了:ans是以9为周期的,所以代码如下:

class Solution {
public:
    int addDigits(int num) {
        return (num-1)%9+1;
    }
};
其实最开始想到的是递归求每一位,再求和。但是我看Follow up中说有O(1)runtime的算法,所以可以直接找规律了。如果要证明的话就要用数论的知识了,这个以后再说吧。

关于数字根(LeetCode Add Digits)

如果把一个大数的各位数字相加得到一个和,再把这个和的各位数字相加又得一个和,再继续作数字和,直到最后的数字和是个位数为止,这最后的数称为最初那个数的“数字根”.这个数字根等于原数除以9的余数,因此这个...
  • yinghua2016
  • yinghua2016
  • 2017年03月07日 11:27
  • 94

[LeetCode] Add Digits - 数字各个位数求和

题目概述:Add Digits 数字各个位数求和 Given a non-negative integer num, repeatedly add all its digits until the r...
  • Eastmount
  • Eastmount
  • 2015年09月08日 18:06
  • 1822

LeetCode:Add Digits - 非负整数各位相加

原文网址:http://my.oschina.net/Tsybius2014/blog/497645 1、题目名称 Add Digits (非负整数各位相加) 2、题目地址 https://l...
  • liuwengai
  • liuwengai
  • 2016年08月16日 15:38
  • 143

【python】【leetcode】【算法题目2—Add Two Numbers】

【python】【leetcode】【算法题目2—Add Two Numbers】 题目原文: You are given two linked lists representing two non-...
  • u014615155
  • u014615155
  • 2016年11月21日 12:05
  • 1811

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
  • 351

[LeetCode] Plus One - 整数字符转换相加

题目概述:Plus One - 整数加一 Given a non-negative number represented as an array of digits, plus one to the ...
  • Eastmount
  • Eastmount
  • 2015年09月09日 05:19
  • 1810

LeetCode 258 Add Digits(数字相加,数字根)

翻译给定一个非负整型数字,重复相加其所有的数字直到最后的结果只有一位数。例如:给定sum = 38,这个过程就像是:3 + 8 = 11,1 + 1 = 2,因为2只有一位数,所以返回它。紧接着:你可...
  • NoMasp
  • NoMasp
  • 2015年12月24日 10:17
  • 3506

【LeetCode】Add 系列

2. Add Two Numbers 题目:将两个整数反序存入链表,计算两者之和并反序存入链表,返回头结点。 思路:设置flag作为进位标志,按位计算和值,存入返回链表。对还有剩余的链表,按照之前的方...
  • liyinan11
  • liyinan11
  • 2017年03月11日 17:19
  • 46

NVIDIA DIGITS 学习笔记(参数)

本文主要记录了NVIDIA DIGITS的参数设置方法及其与Caffe中的参数的对应关系。
  • u011335616
  • u011335616
  • 2016年01月26日 15:34
  • 4472

[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
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:LeetCode 之 Add Digits
举报原因:
原因补充:

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