1、题目描述

编写一个算法来判断一个数是不是“快乐数”。

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

示例:

输入: 19
输出: true
解释:
12 + 92 = 82
82 + 22 = 68
62 + 82 = 100
12 + 02 + 02 = 1

2、题解

2.1、解法一

class Solution(object):count = 0def isHappy(self, n):""":type n: int:rtype: bool"""if n == 1:return Truel = []while n:a,b = divmod(n,10)l.append(b)n = a# if len(l) ==1:#     return False# else:self.count += 1if self.count >100:return Falsel.reverse()print(l)ret = 0for i in l:ret += i**2if ret == 1:return Trueelse:ret = self.isHappy(ret)return ret

2.2、解法二

class Solution(object):def isHappy(self, n):""":type n: int:rtype: bool"""temp = []def get_add(n):ret = 0while n != 0:g = n % 10ret += g ** 2n = int(n / 10)return retwhile True:n = get_add(n)if n == 1:return Trueelif n in temp:return Falseelse:temp.append(n)

  

转载于:https://www.cnblogs.com/bad-robot/p/10065685.html

LeetCode:202. 快乐数相关推荐

  1. LeetCode 202. 快乐数【哈希表】

    202. 快乐数 编写一个算法来判断一个数 n 是不是快乐数. 「快乐数」 定义为: 对于一个正整数,每一次将该数替换为它每个位置上的数字的平方和. 然后重复这个过程直到这个数变为 1,也可能是 无限 ...

  2. leetcode 202. 快乐数 思考分析(哈希集合与双指针解)

    1.题目 编写一个算法来判断一个数 n 是不是快乐数. 「快乐数」定义为:对于一个正整数,每一次将该数替换为它每个位置上的数字的平方和,然后重复这个过程直到这个数变为 1,也可能是 无限循环 但始终变 ...

  3. LeetCode 202. 快乐数(快慢指针)

    1. 题目 2. 解题 一个数经过若干次各位数平方和后,会等于它自己 使用类似环形链表的快慢指针法,最终快慢指针相遇,若不为1则是不快乐数 class Solution {public:int bit ...

  4. 2022-1-18 Leetcode 202.快乐数

    问题就在于如何判断无限循环? 我是要求最多循环20次 class Solution {public:bool isHappy(int n) {int sum = 0;int a = 0;int cou ...

  5. leetcode 202 快乐数

    class Solution { public:bool isHappy(int n) {unordered_map<int,bool> m;while(n!=1){m[n]=true;i ...

  6. Leetcode 202. 快乐数 解题思路及C++实现

    解题思路: 用递归的方法,出现1,就返回true,这里用了 unordered_map 来记录是否会出现循环.(也可以用unordered_set) 通过计算余数和商,来得到每个位置数字的平方和.具体 ...

  7. 129. Leetcode 202. 快乐数 (哈希表)

    class Solution:def isHappy(self, n: int) -> bool:set_ = set()while 1:sum_ = self.getSum(n)if sum_ ...

  8. Leetcode 202.快乐数(哈希容器来检测是否出现重复)

    传送门:力扣 所学知识: 1.求和过程,去数值的单数操作,使用while(n)来操作.很强. int getSum(int n) {int sum = 0;while (n) {sum += (n % ...

  9. 算法训练Day6 | LeetCode:242. 有效的字母异位词(数组作哈希表);349. 两个数组的交集(Set作哈希表);202.快乐数 (Set作哈希表);1. 两数之和(Map作哈希表)

    目录 LeetCode242. 有效的字母异位词 方法:数组作哈希表 1. 思路 2. 代码实现 3. 复杂度分析 4. 思考 Leetcode349. 两个数组的交集 方法一:用Set作HashMa ...

  10. LeetCode Algorithm 202. 快乐数

    202. 快乐数 Ideas 快乐数的判断逻辑其实挺简单的,按照定义去循环执行就可以了. 关键是如果不是快乐数怎么结束循环. 我们猜测会有以下三种可能: 最终会得到 1 最终会进入循环 值会越来越大, ...

最新文章

  1. 逆天了:Nature一篇论文57000位作者,更厉害的是,大多数作者都是游戏玩家
  2. python 难度-python上手难度算较低
  3. C# 3.0 New Language Features (Part 1)
  4. 7个示例科普CPU Cache
  5. LeetCode 49字母异位词分组50pow(x,n)51八皇后
  6. 史上最简单的SpringCloud教程 | 第九篇: 服务链路追踪(Spring Cloud Sleuth)
  7. SAP OData Gateway里uri type为metadata的请求处理逻辑
  8. c语言开发工具程序代码是什么文件,【C语言】开发工具--GCC使用入门
  9. mysql错误信息收集_MySQL错误信息记录
  10. 今日头条、快手们疯狂招人是人工智能的失败?
  11. 笔记:Chrome 对浏览器的改进
  12. 回溯算法讲解--适用于leetcode绝大多数回溯题目
  13. 【bzoj1433】[ZJOI2009]假期的宿舍
  14. linux限制用户只能访问网站,Linux中限制用户访问权限的3种方法
  15. dlp监控开除员工_说一说DLP的那些事儿
  16. [转]一个IT人的辞职信:怀着梦想去远行!
  17. 计算机辅助绘图中测距在哪,cad测距(cad测量距离快捷键)
  18. AARRR模型——留存:始于价值,合于套路,久于习惯(中)
  19. python 线性回归显著性检验_回归方程及回归系数的显著性检验_stata显著性检验...
  20. 打造离线版 123D Catch

热门文章

  1. js获取图片原始大小
  2. Ubuntu18.04安装ROS Melodic(解决网络原因,先将所需压缩包下载到本地,然后rosdep update)
  3. flex 发送到java_(转)java与flex通信
  4. Linux清除用户登录记录和命令历史方法
  5. java+yeild+sleep_java之yield(),sleep(),wait()区别详解-备忘笔记[转]
  6. 用MySQl创建供应商标_建立一个供应商、零件数据库。其中供应商表S(Sno,Sname,Zip - 问答库...
  7. 原始尺寸_三维扫描检测,铸件三维全尺寸检测,铸件三维扫描服务
  8. html颜色代码表_html颜色代码表
  9. 2020-11-25 阿里云CentOS linux源配置脚本 https://mirrors.aliyun.com/repo/
  10. 2020-08-21 Qt+MSVC 强制中文UTF-8编码