快乐数-力扣

使用一个set来存储遇到的每个数,如果遇到的数在set中,那么说明这个数不是快乐数,否则一直循环下去,直到n = 1结束循环,表示这个数是个快乐数。

  • 需要注意的是,给定一个数 n, 怎样对这个数 n 进行每一位求和。

代码如下:

cpp 复制代码
class Solution {
public:
    bool isHappy(int n) {
        unordered_set<int> s;
        while(n != 1){
            if(s.find(n) != s.end()){
                return false;
            }
            else {
                s.insert(n);
            }
            n = getSum(n);
        }  
        return true;
    }

    int getSum(int n){
        int sum = 0;
        while(n){
            sum += (n % 10) * (n % 10);
            n /= 10;
        }

        return sum;
    }
};
相关推荐
hhzz7 小时前
Tiger AI Platform平台中增加人脸识别功能
图像处理·人工智能·算法·计算机视觉·大模型
从零开始的代码生活_7 小时前
C++ 继承详解:访问控制、对象模型、菱形继承与设计取舍
开发语言·c++·后端·学习·算法
TsingtaoAI8 小时前
3D高斯泼溅技术发展及其在具身智能领域的应用综述
人工智能·算法·ai·具身智能·高斯泼溅
atunet8 小时前
关于图算法中的连通分量检测与最小割问题7
算法
心运软件8 小时前
银行客户流失预测(Python 完整实战)
算法
邪神与厨二病8 小时前
牛客周赛 Round 153
python·算法
qizayaoshuap10 小时前
# ❌ 井字棋 — 鸿蒙ArkTS Minimax AI算法与博弈系统设计
人工智能·算法·华为·harmonyos
皓月斯语11 小时前
B3842 [GESP202306 三级] 春游 题解
数据结构·c++·算法·题解
atunet11 小时前
树状结构在查询优化中的作用与实现细节7
算法
徐凤年_12 小时前
rog_map参数理解
算法