LeetCode - 202. 快乐数

题目

202. 快乐数 - 力扣(LeetCode)

思路

先模拟出所有的情况

根据情况1和情况2发现,无论哪种情况,都能成环,只是一个是环里都是1,一个是环里不为1,所以这里仅需判断能否成环,然后再判断环里是否为1 即可判断出快乐数

读者可能出现的错误写法

cpp 复制代码
class Solution {
public:

    int bitSum(int n)
    {
        int sum = 0;
        while(n)
        {
            int t = n%10;
            sum += t*t;
            n=n/10;
        }
        return sum;
    }
    bool isHappy(int n) {
        int slow = n;
        int fast = n;
        while(slow != fast)
        {
            slow = bitSum(slow);
            fast = bitSum(bitSum(fast));
        }

        return slow == 1;
    }
};

这里的fast不能初始化成n,因为初始化成n循环就进不去了,应该是初始化成n的下一位,也就是bitSum(n);

正确写法

cpp 复制代码
class Solution {
public:

    int bitSum(int n)
    {
        int sum = 0;
        while(n)
        {
            int t = n%10;
            sum += t*t;
            n=n/10;
        }
        return sum;
    }
    bool isHappy(int n) {
        int slow = n;
        int fast = bitSum(n);
        while(slow != fast)
        {
            slow = bitSum(slow);
            fast = bitSum(bitSum(fast));
        }

        return slow == 1;
    }
};
相关推荐
吃着火锅x唱着歌4 小时前
LeetCode 522.最长特殊序列2
算法·leetcode·职场和发展
初级炼丹师(爱说实话版)4 小时前
2025算法八股——机器学习——SVM损失函数
算法·机器学习·支持向量机
qq_4696035895 小时前
2026新选题:基于K-Means实现学生求职意向聚类推荐职位
算法·kmeans·聚类·聚类算法·k-means聚类推荐
RTC老炮5 小时前
webrtc弱网-LossBasedBweV2类源码分析与算法原理
算法·webrtc
NMZH105 小时前
排序算法(全--C语言)
算法·排序算法
對玛祷至昏5 小时前
算法学习路径
学习·算法·排序算法
Yingye Zhu(HPXXZYY)9 小时前
ICPC 2023 Nanjing R L 题 Elevator
算法
阿维的博客日记11 小时前
LeetCode 139. 单词拆分 - 动态规划解法详解
leetcode·动态规划·代理模式
程序员Xu12 小时前
【LeetCode热题100道笔记】二叉树的右视图
笔记·算法·leetcode