题意描述:

「快乐数」定义为:对于一个正整数,每一次将该数替换为它每个位置上的数字的平方和,然后重复这个过程直到这个数变为 1,也可能是 无限循环 但始终变不到 1。如果 可以变为  1,那么这个数就是快乐数。

如果 n 是快乐数就返回 True ;不是,则返回 False 。

表面上是数学题,但题意的无限循环说明求和的过程中,sum会重复的出现,这里可以想到利用unordered_set容器来判断。

本题关键:

1、计算数各个数位上的平方和的算法

2、注意循环的条件和内部实现

C++代码实现如下:

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

刷题day_12:快乐数相关推荐

  1. 【力扣3题】快乐数有效的字母异位词字符串中的单词数

    这篇文章主要是想向大家说其实力扣的好多题的解法都是很像的,我虽然刷的少,但是在这些题上都看到了熟悉的影子,就是想给大家打打鸡血吧. 题单一::202.力扣快乐数 解题思路: 快乐数就是不断求它的平方和 ...

  2. 【LeetCode 剑指offer刷题】特殊数题3:204 Count Primes

    [LeetCode & 剑指offer 刷题笔记]目录(持续更新中...) 204. Count Primes Count the number of prime numbers less t ...

  3. lintcode-【简单题】快乐数

    题目: 写一个算法来判断一个数是不是"快乐数". 一个数是不是快乐是这么定义的:对于一个正整数,每一次将该数替换为他每个位置上的数字的平方和,然后重复这个过程直到这个数变为1,或是 ...

  4. 学渣的刷题之旅 leetcode刷题 1.两数之和

    给定一个整数数组nums 和一个目标值 target,请你在该数组中找出和为目标值的那 两个 整数,并返回他们的数组下标. 你可以假设每种输入只会对应一个答案.但是,你不能重复利用这个数组中同样的元素 ...

  5. 经典C语言算法题之快乐数

    快乐数解法-很快乐 1.题目描述 2.题目分析 3.代码实现 4.题解心得 1.题目描述 编写一个算法来判断一个数 n 是不是快乐数. 「快乐数」定义为:对于一个正整数,每一次将该数替换为它每个位置上 ...

  6. 「每日刷题,快乐学习」18.四数之和

    1. 题目 来源:力扣(LeetCode) 给你一个由 n 个整数组成的数组 nums ,和一个目标值 target .请你找出并返回满足下述全部条件且不重复的四元组 [nums[a], nums[b ...

  7. leetCode刷题 2. 两数相加

    原题链接: leetcode-cn.com/problems/ad- 题目描述 给定两个非空链表来表示两个非负整数.位数按照逆序方式存储,它们的每个节点只存储单个数字.将两数相加返回一个新的链表. 你 ...

  8. 【牛客刷题22】数根与星际密码

    文章目录 题目一:数根 1.题目内容 2.思路 3.代码实现 题目二:星际密码 1.题目内容 2.思路 3.代码实现 题目一:数根 1.题目内容 题目链接:数根 2.思路     这里需要注意:    ...

  9. C#LeetCode刷题之#15-三数之和(3Sum)

    目录 问题 示例 分析 问题 该文章的最新版本已迁移至个人博客[比特飞],单击链接 https://www.byteflying.com/archives/3618 访问. 给定一个包含 n 个整数的 ...

最新文章

  1. 2018帮助_字节跳动扶贫获“北京市扶贫协作奖”,一年帮助8万贫困人口增收
  2. Template Method (C++实现)
  3. 4 命令_主梁建成、拾掇命令流(2019/4/10)
  4. 知识技能归档--CA-PKI体系-20210324
  5. [ZOJ 3607] Lazier Salesgirl
  6. 华为harmonyos公测,华为开启HarmonyOS2.0开发者Beta公测招募第二期
  7. 收藏夹吃灰系列(五):解决Win10插入U盘不显示磁盘可用容量且打不开卡死问题 | 超级详细,建议收藏
  8. JDK成年了,JDK18版本发布,走进JDK18新特性
  9. 论文 毕业设计 相关 用语 评语
  10. 计算机用户名怎么注册,微软账号怎么注册 Microsoft帐户注册使用教程
  11. 冬令时 java_java-时间处理夏令时冬令时跨时区问题处理
  12. 基于java+SpringBoot+HTML+MySQL精准扶贫网站的设计与实现
  13. android小电脑,废旧笔记本电脑纯手工改装“安卓小电脑”,太赞了!
  14. 树莓派无法识别摄像头+树莓派中opencv调用视频流人脸检测
  15. CDM技术分析和产品选型建议
  16. java做服务端,FLASH做客户端交互总结
  17. 干货分享:Totoro 在自动化测试领域的深耕与收获
  18. Hadoop高手之路4-HDFS
  19. 软考考完了,如何评职称?
  20. 《区块链100问》1-50集

热门文章

  1. Cubby提供Dropbox 2倍推荐存储空间 各大云储存容量与价格PK
  2. 视频转换成gif动图如何操作?教你三步完成视频转gif
  3. 为什么百度搜索引擎优化比以前更难?
  4. 读取JPEG文件的压缩质量/质量因子参数
  5. python中的抽象类
  6. 2021年安徽省职业院校技能大赛网络搭建与应用竞赛
  7. CentOS6开启BBR加速
  8. 谷歌浏览器自动翻译当前网页
  9. python同时监控键鼠教程
  10. 对比Excel两个sheet的数据是否相同