码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 每日一题:【LeetCode】258. 各位相加


    目录

    • 题目
    • 题解

    题目

    给定一个非负整数 num,反复将各个位上的数字相加,直到结果为一位数。返回这个结果。

    示例 1:
    输入: num = 38
    输出: 2
    解释: 各位相加的过程为:
    38 --> 3 + 8 --> 11
    11 --> 1 + 1 --> 2
    由于 2 是一位数,所以返回 2。

    示例 2:
    输入: num = 0
    输出: 0

    提示:

    0 <= num <= 231 - 1

    来源:力扣(LeetCode)
    链接:https://leetcode.cn/problems/add-digits
    著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。

    题解

    法1:模拟
    就跟着题目一步走一步走就行

    class Solution:
        def addDigits(self, num: int) -> int:
            while num>9:
                x=0
                while num>0:
                    x+=num%10
                    num//=10
                num=x
            return num
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9

    法2:数学
    这个方法一般比较难想到,尤其是对数学不太了解的,比如我
    这个题目的实质就是求数的数根
    数根是从0到9的
    数根的定义引自百度百科

    将一正整数的各个位数相加(即横向相加)后,若加完后的值大于等于10的话,则继续将各位数进行横向相加直到其值小于十为止所得到的数,即为数根。换句话说,数根是将一数字重复做其数字之和,直到其值小于十为止,则所得的值为该数的数根。
    例如,54817的数根为7,因为5+4+8+1+7=25,25大于10则再加一次,2+5=7,7小于10,则7为54817的数根。
    数根的性质:x+9与x的数根相同,即一个数加9后它的数根不变。

    class Solution:
        def addDigits(self, num: int) -> int:
            if num==0:
                return 0
            n=num%9
            if n==0:
                n=9
            return n
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8

    简写

    class Solution:
        def addDigits(self, num: int) -> int:
            if num==0:
                return 0
            return (num-1)%9+1 
            #因为python中(-1)%9=8,所以0需要另外单独拎出来,其他语言不用
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
  • 相关阅读:
    SAP MM学习笔记35 - 请求书照合中的差额处理(发票扣减,受入)
    对副业的选择无论是自媒体还是 Python接单 ,始终绕不开IT行业。
    软件架构设计(三) B/S架构风格-层次架构(一)
    11.8代码
    记账软件哪个好用,亲测有效
    自制操作系统笔记
    sprinboot打包jar后读取不到/resource/data/ip2region.xdb的文件.
    智能聊天易语言代码
    Oracle 存储过程游标遍历查询信息,并打印输出异常信息
    【JVM】native关键字的使用
  • 原文地址:https://blog.csdn.net/Chen_beichen/article/details/127759158
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号