力扣202.快乐数

202. 快乐数 - 力扣(LeetCode)

主要是用到了鸽巢原理,最后他们一定会重合,我们只需要判断类似,链表的成环相遇的时候是不是1就行了

复制代码
class Solution {
public:

    int bitsum(int n)
    {
        int sum = 0;
        while (n)
        {
            int a = 0;
            a = n % 10;
            sum += a * a;
            n /= 10;
        }
        return sum;
    }
    bool isHappy(int n) {
        int fast = bitsum(n);
        int slow = n;
        while (fast != slow)
        {
            fast = bitsum(fast);
            fast = bitsum(fast);
            slow = bitsum(slow);
        }
        if (fast == 1)
        {
            return true;
        }
        else return false;
    }
};
相关推荐
必胜刻24 分钟前
复原 IP 地址(回溯算法)
tcp/ip·算法·深度优先
YGGP39 分钟前
【Golang】LeetCode 5. 最长回文子串
算法·leetcode
hqyjzsb43 分钟前
从爱好到专业:AI初学者如何跨越CAIE认证的理想与现实鸿沟
大数据·c语言·人工智能·信息可视化·职场和发展·excel·业界资讯
挖矿大亨1 小时前
C++中的赋值运算符重载
开发语言·c++·算法
qq_433554541 小时前
C++区间DP
c++·算法·动态规划
Halo_tjn1 小时前
Java IO流实现文件操作知识点
java·开发语言·windows·算法
历程里程碑1 小时前
滑动窗口解法:无重复字符最长子串
数据结构·c++·算法·leetcode·职场和发展·eclipse·哈希算法
Geoffwo1 小时前
归一化简单案例
算法·语言模型
Felven2 小时前
C. Maximum Median
c语言·开发语言·算法
星火开发设计2 小时前
广度优先搜索(BFS)详解及C++实现
数据结构·c++·算法··bfs·宽度优先·知识