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

leetcode分类刷题:哈希表(Hash Table)(三、循环存在问题)

1、当需要快速判断某元素是否出现在序列中时,就要用到哈希表了。
2、本文针对的总结题型为给定的序列或需要构造的序列中是否存在循环,与 160. 相交链表、 141. 环形链表、142. 环形链表 II的题型一样。

202. 快乐数

这道题还考察如何对正整数求解各个位置数字的平方和

'''
202. 快乐数
编写一个算法来判断一个数 n 是不是快乐数。
「快乐数」定义为:
对于一个正整数,每一次将该数替换为它每个位置上的数字的平方和。
然后重复这个过程直到这个数变为 1,也可能是 无限循环 但始终变不到 1。
如果这个过程 结果为1,那么这个数就是快乐数。
如果 n 是 快乐数 就返回 true ;不是,则返回 false 。
示例 1:输入:n = 19输出:true解释:1^2 + 9^2 = 828^2 + 2^2 = 686^2 + 8^2 = 1001^2 + 0^2 = 1
题眼:无限循环:当同一个数字出现第二次之后,就说明存在环
思路:这道题和环形链表的题目一样,模拟上述过程,并用哈希表记录数值;
'''class Solution:def isHappy(self, n: int) -> bool:hashTable = set()hashTable.add(n)while True:n = self.getSum(n)if n == 1:return Trueelif n in hashTable:return Falseelse:hashTable.add(n)# 这道题还考察如何对正整数求解各个位置数字的平方和def getSum(self, n: int) -> int:s = 0while n > 0:s += (n % 10) * (n % 10)  # 总是获取数字的最后一位n //= 10return sif __name__ == "__main__":obj = Solution()while True:try:n = int(input().strip().split('=')[1].strip())print(obj.isHappy(n))except EOFError:break
http://www.lryc.cn/news/149344.html

相关文章:

  • 43、基于 springboot 自动配置的 spring mvc 错误处理,就是演示项目报错后,跳转到自定义的错误页面
  • 干货分享,现代列式数据库系统如何设计与实现? | StoneData 论文选读
  • 说说构建流批一体准实时数仓
  • 北京筑龙受邀出席中物联“采购供应链中国行—走进雄安”活动
  • 【Tkinter界面:练习-01】窗口-部件-布局
  • LeetCode每日一题:823. 带因子的二叉树(2023.8.29 C++)
  • 【教学类-35-01】学号+姓名+班级(描字帖)A4一页
  • UE5 里的一些常用的了解
  • 【网络安全带你练爬虫-100练】第19练:使用python打开exe文件
  • 【2D/3D RRT* 算法】使用快速探索随机树进行最佳路径规划(Matlab代码实现)
  • 用反射实现自定义Java对象转化为json工具类
  • rk3568 nvme硬盘分区,格式化,挂载测试
  • Failed to load ApplicationContext解决办法,spring版本问题
  • Is f(z)=1/z truly an analytic function
  • 代理模式 静态代理和动态代理(jdk、cglib)——Java入职第十一天
  • Remmina在ubuntu22.04中无法连接Windows
  • 【uniapp】this有时为啥打印的是undefined?(箭头函数修改this)
  • 2023高教社杯数学建模思路 - 复盘:光照强度计算的优化模型
  • 河道漂浮物检测:安防监控/视频智能分析/AI算法智能分析技术如何助力河道整治工作?
  • Dubbo 应用切换 ZooKeeper 注册中心实例,流量无损迁移
  • ADB入门教程
  • SQLPro Studio for Mac:强大的SQL开发和管理工具
  • 淘宝API技术解析,实现按图搜索淘宝商品
  • 错误:依赖检测失败: mysql-community-libs(x86-64) >= 5.7.9 被 (已安裝) mysql-community-li
  • 使用MATLAB解算炼油厂的选址
  • AudioTrack播放音乐之getMinBufferSize
  • React和Redux中的不变性
  • NPM 常用命令(一)
  • 【ES6】Promise推荐用法
  • 【JavaScript】版本判断