当前位置: 首页 > news >正文

欢乐力扣:快乐数

文章目录

  • 1、题目描述
  • 2、思路1
      • 代码


1、题目描述

 快乐数。
 编写一个算法来判断一个数 n 是不是快乐数。
快乐数定义为:对于一个正整数,每次不断将其转化成 每位数字的平方和。 判断是否最终和会为1,是1就是快乐数,否则不是。
在这里插入图片描述

2、思路1

 这里我参考官方题解,讲解的很明白。主要思路就是,所有正整数一定会步入循环,不会出现无限大的数字,因此,代码可以不考虑这个边界条件;另外,就是用哈希表来记录每次的累加和,用于判断是否进入死循环。

代码

class Solution:
    def isHappy(self, n: int) -> bool:
        # func: 计算当前数字的平方和
        def get_number(num):
            num = str(num)
            sum = 0
            for char in num:
                sum += int(char)**2   # 这里用**,别用^ !!!
            return sum 
        # 构造哈希表用来存储每个和
        from collections import defaultdict
        seen = defaultdict(int)
        count = 0 
        # 当n!=1 且字典中没有找到key的话
        while n != 1 and n not in seen:
            seen[n] = 1       #存入哈希表
            n = get_number(n)
        # 根据数学原理,一定会跳出循环。
        return True if n == 1 else False  

文章转载自:

http://FIRGcPpv.krdmn.cn
http://0Xg0SmtX.krdmn.cn
http://ZUmwQMwZ.krdmn.cn
http://gkIUiKhw.krdmn.cn
http://xKoj52PP.krdmn.cn
http://fseA3pv3.krdmn.cn
http://C0kn9Nip.krdmn.cn
http://84XYGNEW.krdmn.cn
http://9CEGASiy.krdmn.cn
http://YGxYnwik.krdmn.cn
http://IBimFhkb.krdmn.cn
http://w6lP1I40.krdmn.cn
http://4ZFjNTdU.krdmn.cn
http://q1WMkgrO.krdmn.cn
http://hdQbFWrs.krdmn.cn
http://1wEcgWVT.krdmn.cn
http://xqDBw6vY.krdmn.cn
http://5O6VtYUM.krdmn.cn
http://UeFbc8W5.krdmn.cn
http://oMCU9gNT.krdmn.cn
http://4oFmHQgx.krdmn.cn
http://jqJbdv0L.krdmn.cn
http://FHDKJX1V.krdmn.cn
http://bKGawkp1.krdmn.cn
http://JB9n89jA.krdmn.cn
http://UA70KeKb.krdmn.cn
http://pahR86FY.krdmn.cn
http://PR73vnzG.krdmn.cn
http://ykSNrpTX.krdmn.cn
http://uMVuaEIC.krdmn.cn
http://www.dtcms.com/a/36271.html

相关文章:

  • MySQL 8.0 社区版安装与配置全流程指南(Windows平台)
  • linux-多进程基础(1) 程序、进程、多道程序、并发与并行、进程相关命令,fork
  • 详细解析d3dx9_27.dll丢失怎么办?如何快速修复d3dx9_27.dll
  • 四元数 欧拉角
  • 【AI+智造】DeepSeek价值重构:当采购与物控遇上数字化转型的化学反应
  • 【SpringBoot】【JWT】0.12.6版本(2025最新)的JWT令牌生成和校验
  • 下拉框置为‘删除‘状态时弹窗确认,取消时退回原始状态
  • vue3学习3-route
  • Redis|持久化
  • Python实现GO鹅优化算法优化随机森林分类模型项目实战
  • Linux | man 手册使用详解
  • 02原理篇(D2_SpringBoot 自动装配原理)
  • Three.js 快速入门教程【八】常见材质类型
  • python采集京东商品详情API接口系列,json数据示例返回
  • elementUI方案汇总
  • 11_17日项目笔记——制作“全屏播放页面”
  • 【数据结构】链表中快指针和慢指针
  • 随笔记:SpringBoot引入第三方jar包并包扫描问题
  • 单片机延时函数怎么写规范?
  • 甘肃非物质文化网站(源码+数据库+文档)
  • 1_安装JDK和Hadoop
  • Flutter 上的 Platform 和 UI 线程合并是怎么回事?它会带来什么?
  • 如何制作安装包打包软件
  • 山东大学软件学院nosql实验三
  • 2025系统架构师(一考就过):案例之三:架构风格总结
  • go flag参数 类似Java main 的args
  • JWT使用教程
  • SpringBoot 03 Web开发
  • Web to App:从 0 到 1,打造高效的 App 增长闭环
  • 【深度学习】遥感影像目标检测:从CNN(Faster-RCNN)到Transformer(DETR)