当前位置: 首页 > 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 = 0for char in num:sum += int(char)**2   # 这里用**,别用^ !!!return sum # 构造哈希表用来存储每个和from collections import defaultdictseen = 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://www.lryc.cn/news/542198.html

相关文章:

  • 【聊天室后端服务器开发】功能设计-框架与微服务
  • 国标28181协议在智联视频超融合平台中的接入方法
  • 让网页“浪“起来:打造会呼吸的波浪背景
  • linux-多进程基础(1) 程序、进程、多道程序、并发与并行、进程相关命令,fork
  • 美颜相机1.0
  • Docker内存芭蕾:优雅调整容器内存的极限艺术
  • gitlab初次登录为什么登不上去
  • 单链表相关操作(基于C语言)
  • SPRING10_SPRING的生命周期流程图
  • 从零到一学习c++(基础篇--筑基期十一-类)
  • Java String 类
  • P8665 [蓝桥杯 2018 省 A] 航班时间
  • Vue3项目与pnpm使用教程
  • C++初阶——简单实现list
  • C/C++后端开发面经
  • linux 编辑器
  • 【事件驱动框架OSAL】二.消息的管理机制
  • 《论多源数据集成及应用》审题技巧 - 系统架构设计师
  • 【企业微信开发工具,获取位置】
  • HTML之JavaScript DOM编程获取元素的方式
  • 如何安装vm和centos
  • docker 安装redis 7.4.2并挂载配置文件以及设置密码
  • 计算机毕业设计SpringBoot+Vue.js在线教育系统(源码+文档+PPT+讲解)
  • Linux-C-函数栈-SP寄存器
  • vi的基本使用
  • clickhouse--表引擎的使用
  • LeetCode刷题零碎知识点整理
  • GLTFLoader.js和OrbitControls.js两个 JavaScript 文件都是 Three.js 生态系统中的重要组成部分
  • 大厂数据仓库数仓建模面试题及参考答案
  • angular简易计算器