第202题. 快乐数
第202题. 快乐数编写一个算法来判断一个数 n 是不是快乐数。「快乐数」 定义为对于一个正整数每一次将该数替换为它每个位置上的数字的平方和。然后重复这个过程直到这个数变为 1也可能是 无限循环 但始终变不到 1。如果这个过程 结果为 1那么这个数就是快乐数。如果 n 是 快乐数 就返回 true 不是则返回 false 。示例 1输入n 19输出true解释12 92 8282 22 6862 82 10012 02 02 1示例 2输入n 2输出false提示1 n 231 - 1实现代码Python:classSolution(object):defisHappy(self,n): :type n: int :rtype: bool recordset()whilennotinrecord:record.add(n)sstr(n)new0foriins:newint(i)**2ifn1:returnTrueelse:nnewreturnFalse分析判断快乐数的关键在于过程中是否会进入「无限循环」即某个数重复出现。因为如果不是快乐数计算平方和的过程一定会陷入循环不会无限增大所以只需检测循环即可。实现步骤1.计算数字的各位平方和将数字拆分为每一位计算平方后求和如 19 → 1²9²822.检测循环用「哈希集合」记录所有出现过的数若新计算的数是 1 → 快乐数若数已在集合中 → 循环不是快乐数。
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2438398.html
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!