快乐数算法

编写一个算法来判断一个数 n 是不是快乐数。

「快乐数」 定义为:

  • 对于一个正整数,每一次将该数替换为它每个位置上的数字的平方和。
  • 然后重复这个过程直到这个数变为 1,也可能是 无限循环 但始终变不到 1。
  • 如果这个过程 结果为 1,那么这个数就是快乐数。

如果 n快乐数 就返回 true ;不是,则返回 false

示例 1:

复制代码
输入:n = 19
输出:true
解释:
12 + 92 = 82
82 + 22 = 68
62 + 82 = 100
12 + 02 + 02 = 1

示例 2:

复制代码
输入:n = 2
输出:false

提示:

  • 1 <= n <= 231 - 1
java 复制代码
class Solution {
    public boolean isHappy(int n) {
        if (n == 1) {
            return true;
        } else if (n < 10 && n % 2 == 0) {
            return false;
        } else {
            return isHappy(num(n));
        }
    }

    public int num(int n) {
        int sum = 0;
        int num = n / 10;
        int mod = n % 10;
        sum = sum + mod * mod;
        if (num == 0) {
            return sum;
        } else {
            return sum + num(num);
        }
    }
}
相关推荐
Arwen3033 分钟前
解密国密 SSL 证书:SM2、SM3、SM4 算法的协同安全效应
算法·安全·ssl
地平线开发者19 分钟前
征程 6|工具链部署实用技巧 6:hbm 解析 API 集锦
算法·自动驾驶
nlp研究牲24 分钟前
latex中既控制列内容位置又控制列宽,使用>{\centering\arraybackslash}p{0.85cm}
服务器·前端·人工智能·算法·latex
前端拿破轮27 分钟前
HomeBrew创始人都写不出来的翻转二叉树到底怎么做?
前端·算法·typescript
恣艺1 小时前
LeetCode 127:单词接龙
算法·leetcode·职场和发展
地平线开发者1 小时前
开发者说|RoboTransfer:几何一致视频世界模型,突破机器人操作泛化边界
算法·自动驾驶
hhhh明1 小时前
【调试Bug】网络在训练中输出NaN
人工智能·算法
dragoooon342 小时前
[LeetCode]每日温度
算法·leetcode·职场和发展
Morriser莫2 小时前
贪心算法Day6学习心得
算法·贪心算法
不愧是你呀2 小时前
Leetcode力扣解题记录--第21题(合并链表)
算法·leetcode·链表