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;
    }
};
相关推荐
微笑尅乐6 小时前
力扣350.两个数组的交集II
java·算法·leetcode·动态规划
元亓亓亓9 小时前
LeetCode热题100--994. 腐烂的橘子--中等
算法·leetcode·职场和发展
(●—●)橘子……9 小时前
记力扣2516.每种字符至少取k个 练习理解
算法·leetcode·职场和发展
可触的未来,发芽的智生9 小时前
新奇特:神经网络烘焙坊(下),万能配方的甜蜜奥义
人工智能·python·神经网络·算法·架构
学c语言的枫子10 小时前
数据结构——基本排序算法
数据结构·算法·排序算法
jghhh0110 小时前
针对大尺度L1范数优化问题的MATLAB工具箱推荐与实现
开发语言·算法·matlab
And_Ii11 小时前
LeetCode 5.最长回文字符串
数据结构·算法·leetcode
未知陨落11 小时前
LeetCode:76.数据流的中位数
算法·leetcode
Asmalin11 小时前
【代码随想录day 28】 力扣 1005. K次取反后最大化的数组和
算法·leetcode·职场和发展
m0_7472660911 小时前
减治法计算数组中的零个数
数据结构·算法·leetcode