快乐数-力扣

使用一个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;
    }
};
相关推荐
通信小呆呆7 小时前
Hankel结构及其快速算法详解
线性代数·算法·机器学习
四代水门7 小时前
服务端倒带(Server-Side Rewind)命中判定系统
java·前端·算法
吃好睡好便好7 小时前
矩阵的左除和右除
人工智能·学习·线性代数·算法·矩阵
江屿风7 小时前
C++图的基本概念流食般投喂-竞赛编
开发语言·数据结构·c++·笔记·算法·图论
Halo_tjn8 小时前
JDBC 技术的使用
java·算法
Byte不洛8 小时前
哈希表原理 + 冲突解决 + C++实现
数据结构·c++·算法·哈希算法·散列表
Dillon Dong11 小时前
【风电控制】TI TMS320F28379D 双CPU架构解析与任务分布设计
嵌入式硬件·算法·变流器·风电控制
小羊在睡觉16 小时前
力扣84. 柱状图中最大的矩形
后端·算法·leetcode·golang·go
3DVisionary16 小时前
蓝光三维扫描:医疗制造的精度焦虑怎么解
人工智能·算法·制造·蓝光三维扫描·医疗制造·三维检测·义齿检测
好评笔记16 小时前
机器学习面试八股——常用损失函数
人工智能·深度学习·算法·机器学习·校招