刷题笔记:力扣第202题-快乐数
1.本题刚开始没有思路后来发现题目中说如果不是快乐数那么就会陷入循环本质上还是在考察哈希表。完整代码如下1. typedef struct{ 2. int key; 3. UT_hash_handle hh; 4. } HashEntry; 5. 6. // 计算数字每位平方和 7. int getSum(int num){ 8. int sum 0; 9. // 拆分每一位数字 10. while (num){ 11. // 取出个位 12. int tmp num % 10; 13. // 累加平方值 14. sum tmp * tmp; 15. // 去掉个位 16. num / 10; 17. } 18. 19. return sum; 20. } 21. 22. bool isHappy(int n) { 23. // 初始化空哈希表存储出现过的平方和 24. HashEntry* hashTable NULL; 25. while (1){ 26. // 更新n为各位平方和 27. n getSum(n); 28. // 平方和等于1是快乐数直接返回true 29. if (n 1) return true; 30. 31. HashEntry* entry; 32. // 在哈希表查找当前平方和 33. HASH_FIND_INT(hashTable, n, entry); 34. if (entry NULL){ 35. // 未出现过新建哈希节点存入哈希表 36. entry (HashEntry*)malloc(sizeof(HashEntry)); 37. entry-key n; 38. HASH_ADD_INT(hashTable, key, entry); 39. } else { 40. // 当前值重复出现进入循环不是快乐数 41. return false; 42. } 43. } 44. 45. return false; 46. }该算法时间复杂度和空间复杂度均为O(logn)求每位数平方和所需要的时间为logn。2.本题的另一种解法是快慢双指针即弗洛伊德判圈算法类似于力扣第142题-环形链表Ⅱ。快指针每次计算两次即计算两次每位数的平方和慢指针每次计算一次。如果是快乐数那么快指针会先到达1如果不是快乐数则快慢指针会进入循环因为快指针只相对于慢指针多计算了一次所以快慢指针最终一定会相遇。完整代码如下1. // 计算一个数字每一位的平方和 2. int getSum(int num){ 3. int sum 0; 4. // 循环拆分数字每一位 5. while (num){ 6. // 取出个位数字 7. int tmp num % 10; 8. // 累加当前位平方 9. sum tmp * tmp; 10. // 去掉个位数字缩小十倍 11. num / 10; 12. } 13. 14. return sum; 15. } 16. 17. bool isHappy(int n) { 18. // 快慢指针初始化slow走1次平方和fast直接走2次平方和 19. int fast getSum(getSum(n)), slow getSum(n); 20. // 快指针不等于1说明还未找到快乐数终点 21. while (fast ! 1){ 22. // 快指针一次两步 23. fast getSum(fast); 24. fast getSum(fast); 25. // 慢指针一次一步 26. slow getSum(slow); 27. 28. // 快慢指针相遇说明出现循环不是快乐数 29. if (fast slow){ 30. return false; 31. } 32. } 33. // 快指针走到1是快乐数 34. return true; 35. }该算法时间复杂度为O(logn)空间复杂度为O(1)。

相关新闻

10分钟快速搭建AI智能体的实战指南

10分钟快速搭建AI智能体的实战指南

1. 项目概述:AI智能体快速搭建指南 最近在技术社区看到不少关于AI智能体的讨论,作为一个实际部署过多个智能体项目的开发者,我想分享一个真正能在10分钟内跑通的搭建方案。不同于那些只讲概念的教程,这里会聚焦可落地的技术实现&a…

2026/7/30 23:14:20 阅读更多 →
IntentKit性能优化:最小化集成体积的Subspecs使用技巧

IntentKit性能优化:最小化集成体积的Subspecs使用技巧

IntentKit性能优化:最小化集成体积的Subspecs使用技巧 【免费下载链接】IntentKit An easier way to handle third-party URL schemes in iOS apps. 项目地址: https://gitcode.com/gh_mirrors/in/IntentKit IntentKit是一款为iOS应用提供第三方URL Scheme处…

2026/7/30 23:14:20 阅读更多 →
launch-editor:Node.js中一键打开编辑器的终极解决方案

launch-editor:Node.js中一键打开编辑器的终极解决方案

launch-editor:Node.js中一键打开编辑器的终极解决方案 【免费下载链接】launch-editor Open file in editor from Node.js. 项目地址: https://gitcode.com/gh_mirrors/lau/launch-editor 在Node.js开发中,快速定位并打开文件是提升效率的关键步…

2026/7/30 23:14:20 阅读更多 →

最新新闻

4000亿智慧高速大考:一条路500公里,AI算力怎么铺?

4000亿智慧高速大考:一条路500公里,AI算力怎么铺?

41个重点场景已下发,2026年第一批项目申报截止8月31日。但一条高速公路的AI系统,和一座机房完全不是一回事。讲个真事。2025年,某省交通投资集团在一条新建高速上部署AI事件检测系统。设计很简单:沿线每2公里一个监控点位&#xf…

2026/7/30 23:26:23 阅读更多 →
KRAS[G12D]突变体的生物学特性与靶向治疗进展

KRAS[G12D]突变体的生物学特性与靶向治疗进展

1. KRAS[G12D]突变体的生物学特性解析KRAS[G12D]是癌症中最常见的驱动突变之一,在胰腺癌(约90%)、结直肠癌(约45%)和肺癌(约10%)中高频出现。这个突变将甘氨酸(Gly)替换为…

2026/7/30 23:26:23 阅读更多 →
Django Safedelete与外键关系:处理级联删除的完美解决方案

Django Safedelete与外键关系:处理级联删除的完美解决方案

Django Safedelete与外键关系:处理级联删除的完美解决方案 【免费下载链接】django-safedelete Mask your objects instead of deleting them from your database. 项目地址: https://gitcode.com/gh_mirrors/dj/django-safedelete 在Django开发中&#xff0…

2026/7/30 23:26:23 阅读更多 →
RabbitMQ事件总线实战:NetCoreMicroservicesSample消息通信核心组件

RabbitMQ事件总线实战:NetCoreMicroservicesSample消息通信核心组件

RabbitMQ事件总线实战:NetCoreMicroservicesSample消息通信核心组件 【免费下载链接】NetCoreMicroservicesSample Sample using micro services in .NET Core 3.1 Focusing on clean code 项目地址: https://gitcode.com/gh_mirrors/ne/NetCoreMicroservicesSamp…

2026/7/30 23:26:23 阅读更多 →
扣子错误处理节点失效?90%的团队都忽略了这7个关键配置细节!

扣子错误处理节点失效?90%的团队都忽略了这7个关键配置细节!

更多请点击: https://codechina.net 第一章:扣子错误处理节点失效的典型现象与根本归因 当扣子(Coze)Bot在工作流中配置了错误处理节点(如“Error Handler”或条件分支中的异常捕获逻辑),却未能…

2026/7/30 23:26:23 阅读更多 →
机器人3D可视化方案

机器人3D可视化方案

ROS/ROS2 生态里 Web 端 3D 可视化已经有一批开源项目可以参考,从"零开发直接用"到"源码级参考自己写"都有,分三层推荐。 一、零开发直接用:Foxglove Studio 如果你现阶段只想"看到 3D 轨迹",不想写…

2026/7/30 23:25:23 阅读更多 →

日新闻

Windows驱动存储终极清理工具:DriverStoreExplorer完全指南

Windows驱动存储终极清理工具:DriverStoreExplorer完全指南

Windows驱动存储终极清理工具:DriverStoreExplorer完全指南 【免费下载链接】DriverStoreExplorer Driver Store Explorer 项目地址: https://gitcode.com/gh_mirrors/dr/DriverStoreExplorer 您是否曾因Windows系统盘空间不足而烦恼?是否遇到过设…

2026/7/30 0:00:13 阅读更多 →
如何3步掌握Video Download Helper:网页视频下载的完整实战指南

如何3步掌握Video Download Helper:网页视频下载的完整实战指南

如何3步掌握Video Download Helper:网页视频下载的完整实战指南 【免费下载链接】VideoDownloadHelper Chrome Extension to Help Download Video for Some Video Sites. 项目地址: https://gitcode.com/gh_mirrors/vi/VideoDownloadHelper 你是否曾经在浏览…

2026/7/30 0:00:13 阅读更多 →
“双减”后首个AI备课压力测试报告:覆盖32所中小学的176节AI辅助课,暴露4大隐性增负节点

“双减”后首个AI备课压力测试报告:覆盖32所中小学的176节AI辅助课,暴露4大隐性增负节点

更多请点击: https://intelliparadigm.com 第一章:AI 教师备课辅助 AI 教师备课辅助系统正逐步成为教育数字化转型的核心支撑工具,它并非替代教师,而是通过语义理解、知识图谱与多模态生成能力,将教师从重复性劳动中解…

2026/7/30 0:00:13 阅读更多 →

周新闻

深度学习道路桥梁裂缝检测系统 道路桥梁裂缝检测数据集 道路桥梁病害识别检测数据集

深度学习道路桥梁裂缝检测系统 道路桥梁裂缝检测数据集 道路桥梁病害识别检测数据集

深度学习道路桥梁裂缝检测系统 数据集6000张 完整源码已标注数据集训练好的模型环境配置教程程序运行说明文档,可以直接使用!系统支持图片、视频、摄像头等多种方式检测裂缝,功能强大实用。 1数据集6000张 8各类别

2026/7/29 22:18:20 阅读更多 →
深度学习YOLO模型如何训练 PUBG 绝地求生目标检测数据集

深度学习YOLO模型如何训练 PUBG 绝地求生目标检测数据集

pubg数据集 精选原图1.42万数据 1.49万标签 无任何重复、算法增强或冗余图像! pubg绝地求生目标检测数据集 1分类:e_body,14905个标签,txt格式 共计14244张图,99%为640*640尺寸图像 适合yolo目标检测、AI训练关键词&am…

2026/7/29 14:34:28 阅读更多 →
Apex英雄目标检测数据集 深度学习框架YOLO如何训练APEX数据集

Apex英雄目标检测数据集 深度学习框架YOLO如何训练APEX数据集

Apex检测数据集数据集详情检测类别: allies enemy tag图片总量:7247张训练集:5139张验证集:1425张测试集:683张标注状态:全部已标注,即拿即用数据格式:支持YOLO格式及其他格式&#…

2026/7/29 15:00:03 阅读更多 →

月新闻