力扣(LeetCode)算法题解:258. 各位相加

简介: 力扣(LeetCode)算法题解:258. 各位相加

(一)题目描述

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

来源:力扣(LeetCode

链接:https://leetcode-cn.com/problems/add-digits

著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。

(二)输入、输出示例

示例 1:

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

(三)代码实现

方法1(php版):

解题思路

1.递归求解

2. str_split()函数分割字符串,array_sum()求和。

代码实现

class Solution {
    /**
     * @param Integer $num
     * @return Integer
     */
    function addDigits($num) {
        if(strlen($num) == 1){
            return $num;
        }
        $num = array_sum(str_split($num));
        return $this->addDigits($num);
    }
}

(四)性能分析

运行时间 内存消耗
8ms 15.1 MB
目录
打赏
0
0
0
0
0
分享
相关文章
【算法】——双指针算法合集(力扣)
移动零,复写零,快乐数,盛最多水的容器,有效三角形的个数,和为s的两个数(查找总价格为目标值的两个商品 ),三数之和,四数之和
leetcode算法题-有效的括号(简单)
【11月更文挑战第5天】本文介绍了 LeetCode 上“有效的括号”这道题的解法。题目要求判断一个只包含括号字符的字符串是否有效。有效字符串需满足左括号必须用相同类型的右括号闭合,并且左括号必须以正确的顺序闭合。解题思路是使用栈数据结构,遍历字符串时将左括号压入栈中,遇到右括号时检查栈顶元素是否匹配。最后根据栈是否为空来判断字符串中的括号是否有效。示例代码包括 Python 和 Java 版本。
|
5月前
|
每日一道算法题(Leetcode 20)
每日一道算法题(Leetcode 20)
51 2
【C语言】LeetCode(力扣)上经典题目
【C语言】LeetCode(力扣)上经典题目
|
5月前
|
力扣(LeetCode)数据结构练习题(3)------链表
力扣(LeetCode)数据结构练习题(3)------链表
128 0
|
5月前
力扣(LeetCode)数据结构练习题(2)
力扣(LeetCode)数据结构练习题(2)
41 0
|
5月前
|
力扣(LeetCode)数据结构练习题
力扣(LeetCode)数据结构练习题
78 0
基于GRU网络的MQAM调制信号检测算法matlab仿真,对比LSTM
本研究基于MATLAB 2022a,使用GRU网络对QAM调制信号进行检测。QAM是一种高效调制技术,广泛应用于现代通信系统。传统方法在复杂环境下性能下降,而GRU通过门控机制有效提取时间序列特征,实现16QAM、32QAM、64QAM、128QAM的准确检测。仿真结果显示,GRU在低SNR下表现优异,且训练速度快,参数少。核心程序包括模型预测、误检率和漏检率计算,并绘制准确率图。
79 65
基于GRU网络的MQAM调制信号检测算法matlab仿真,对比LSTM
|
10天前
|
基于遗传优化算法的风力机位置布局matlab仿真
本项目基于遗传优化算法(GA)进行风力机位置布局的MATLAB仿真,旨在最大化风场发电效率。使用MATLAB2022A版本运行,核心代码通过迭代选择、交叉、变异等操作优化风力机布局。输出包括优化收敛曲线和最佳布局图。遗传算法模拟生物进化机制,通过初始化、选择、交叉、变异和精英保留等步骤,在复杂约束条件下找到最优布局方案,提升风场整体能源产出效率。
基于包围盒的机械臂防碰撞算法matlab仿真
基于包围盒的机械臂防碰撞算法通过构建包围盒来近似表示机械臂及其环境中各实体的空间占用,检测包围盒是否相交以预判并规避潜在碰撞风险。该算法适用于复杂结构对象,通过细分目标对象并逐级检测,确保操作安全。系统采用MATLAB2022a开发,仿真结果显示其有效性。此技术广泛应用于机器人运动规划与控制领域,确保机器人在复杂环境中的安全作业。
AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等