力扣 202快乐数

快乐数这题有两个关键

一个是求n的 各个位上平方和

另一个是判断是否为快乐数的依据是是否在哈希表中找到已经出现过的数

1求各个位上平方和方法

定义sum

sum = N除以十取余的平方和

n/10

循环终止条件是n=0

2查找一个数是否出现,用哈希表unordered_set ,

插入用set.insert

找到重复出现的数,用set.find(n) != set.end()

/*
 * @lc app=leetcode.cn id=202 lang=cpp
 *
 * [202] 快乐数
 */

// @lc code=start
class Solution {
public:
    int getSum(int n)
    {
        int sum = 0;
        while(n)
        {
            sum += (n%10)*(n%10);
            n = n/10;
        }
        return sum;
    }
    bool isHappy(int n) {
        unordered_set<int> set;
        while(1)
        {
            n = getSum(n);
            if(n == 1) return true;
            if(set.find(n) != set.end())
            {
                return false;
            }
            else{
                set.insert(n);
            }
        }
        
        
    }
};
// @lc code=end

相关推荐

  1. 202-快乐

    2024-07-12 21:56:04       64 阅读
  2. 202快乐

    2024-07-12 21:56:04       24 阅读
  3. 202题“快乐

    2024-07-12 21:56:04       25 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-07-12 21:56:04       67 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-07-12 21:56:04       72 阅读
  3. 在Django里面运行非项目文件

    2024-07-12 21:56:04       58 阅读
  4. Python语言-面向对象

    2024-07-12 21:56:04       69 阅读

热门阅读

  1. 跨越数据边界:域适应在目标检测中的革新作用

    2024-07-12 21:56:04       25 阅读
  2. 在linux x86服务器安装jdk

    2024-07-12 21:56:04       19 阅读
  3. 中国专利文献编号系统方案

    2024-07-12 21:56:04       20 阅读
  4. LanceDB:开源的向量搜索引擎

    2024-07-12 21:56:04       18 阅读
  5. numpy实现sigmoid函数

    2024-07-12 21:56:04       17 阅读
  6. 正则表达式中的 ?

    2024-07-12 21:56:04       24 阅读
  7. 图数据库 - Neo4j详解

    2024-07-12 21:56:04       22 阅读