快乐数-力扣

使用一个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;
    }
};
相关推荐
XH华6 分钟前
初识C语言之二维数组(下)
c语言·算法
南宫生28 分钟前
力扣-图论-17【算法学习day.67】
java·学习·算法·leetcode·图论
不想当程序猿_40 分钟前
【蓝桥杯每日一题】求和——前缀和
算法·前缀和·蓝桥杯
落魄君子1 小时前
GA-BP分类-遗传算法(Genetic Algorithm)和反向传播算法(Backpropagation)
算法·分类·数据挖掘
菜鸡中的奋斗鸡→挣扎鸡1 小时前
滑动窗口 + 算法复习
数据结构·算法
Lenyiin1 小时前
第146场双周赛:统计符合条件长度为3的子数组数目、统计异或值为给定值的路径数目、判断网格图能否被切割成块、唯一中间众数子序列 Ⅰ
c++·算法·leetcode·周赛·lenyiin
郭wes代码1 小时前
Cmd命令大全(万字详细版)
python·算法·小程序
scan7241 小时前
LILAC采样算法
人工智能·算法·机器学习
菌菌的快乐生活2 小时前
理解支持向量机
算法·机器学习·支持向量机
大山同学2 小时前
第三章线性判别函数(二)
线性代数·算法·机器学习