news 2026/6/23 22:26:04

快乐数——哈希表

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
快乐数——哈希表

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

「快乐数」定义为:

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

如果n快乐数就返回true;不是,则返回false

思路:不容易判断的点在于无限循环的情况。

数字平方和一定会让数变小

设一个数有 k 位,那么它的最大值是:10^k - 1。

它的各位数字最大是 9。每位平方最大是 81。

所以 k 位数的平方和最大是:81 * k。

而 k 位数本身至少是:10^(k-1)

比较:

位数最小 k 位数数位平方和最大值
310081 * 3 = 243
4100081 * 4 = 324
51000081 * 5 = 405

你会发现:

从 4 位数开始,下一步一定会掉到 324 以下。

从这开始,无论你多大,最终都会掉进一个固定的小范围内。

✔ 情况 A:最终变成 1(快乐)

✔ 情况 B:在某处形成循环(不快乐)

所以无限循环,也就是非快乐数,必然意味着某个数重复出现。

class Solution: def isHappy(self, n: int) -> bool: s=set() while True: n=self.getSum(n) if n==1: return True else: if n in s: return False s.add(n) def getSum(self,n): sum = 0 while n: sum+=(n%10)**2 n//=10 return sum print(Solution().isHappy(19))
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/23 13:22:07

DBeaver数据库对象搜索失效的5分钟紧急修复指南

当你急需在DBeaver中查找某个关键数据表,却遭遇搜索框"无响应"的尴尬局面,这种突如其来的功能失效往往让数据库管理工作陷入停滞。本文将从问题根源入手,通过组件级分析提供一套快速诊断与修复方案。 【免费下载链接】dbeaver DBea…

作者头像 李华
网站建设 2026/6/23 20:04:58

PHP 15 个高效开发的小技巧

让类型系统为你保驾护航declare(strict_types1);function calculatePriceWithTax(float $price, float $taxRate): float {return $price * (1 $taxRate);}优势:类型错误会立即显现,而不是在后期才出现并难以追踪。使用空值合并和空安全操作符简化空值检…

作者头像 李华
网站建设 2026/6/23 20:42:19

三级防护+119种语言:Qwen3Guard-Gen重新定义2025大模型安全标准

三级防护119种语言:Qwen3Guard-Gen重新定义2025大模型安全标准 【免费下载链接】Qwen3Guard-Gen-8B 项目地址: https://ai.gitcode.com/hf_mirrors/Qwen/Qwen3Guard-Gen-8B 导语 阿里通义千问团队发布的Qwen3Guard-Gen系列安全模型,以三级风险分…

作者头像 李华
网站建设 2026/6/23 9:58:50

Brotli解压引擎深度解密:从位流到字节的魔法转换

Brotli解压引擎深度解密:从位流到字节的魔法转换 【免费下载链接】brotli Brotli compression format 项目地址: https://gitcode.com/gh_mirrors/bro/brotli 在现代Web性能优化领域,Brotli压缩算法以其卓越的压缩效率和快速的解压速度成为业界标…

作者头像 李华
网站建设 2026/6/23 9:39:54

5个理由选择Google Assistant SDK Python版打造智能语音设备

5个理由选择Google Assistant SDK Python版打造智能语音设备 【免费下载链接】assistant-sdk-python Samples and bindings for the Google Assistant API 项目地址: https://gitcode.com/gh_mirrors/as/assistant-sdk-python Google Assistant SDK Python版是一个功能强…

作者头像 李华