发布时间:2026/7/30 23:15:41
刷题笔记:力扣第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)。

相关新闻

2026/7/30 23:10:41

TPInAppReceipt核心功能解析:从收据读取到订阅状态判断

TPInAppReceipt核心功能解析:从收据读取到订阅状态判断 【免费下载链接】TPInAppReceipt Reading and Validating In App Purchase Receipt Locally. 项目地址: https://gitcode.com/gh_mirrors/tp/TPInAppReceipt TPInAppReceipt是一款强大的iOS收据处理工具…

2026/7/30 23:10:41

Codex主执行,Claude Code做审查

在对抗式双模型工作流中,Codex与Claude Code承担着截然不同且相互制衡的角色,其核心分工如下表所示: 角色模型核心职责工作模式实现方Codex主动推进任务,负责代码实现、验证与反馈裁决。主动读写,拥有工具执行权限。审…

2026/7/31 0:11:12

Cats Blender插件终极指南:从零开始掌握VRChat模型优化

Cats Blender插件终极指南:从零开始掌握VRChat模型优化 【免费下载链接】cats-blender-plugin :smiley_cat: A tool designed to shorten steps needed to import and optimize models into VRChat. Compatible models are: MMD, XNALara, Mixamo, DAZ/Poser, Blend…

2026/7/31 0:11:12

3分钟极速上手:Windows电脑运行安卓应用的终极指南

3分钟极速上手:Windows电脑运行安卓应用的终极指南 【免费下载链接】APK-Installer An Android Application Installer for Windows 项目地址: https://gitcode.com/GitHub_Trending/ap/APK-Installer 你是否曾梦想在Windows电脑上直接运行安卓应用&#xff…

2026/7/31 0:11:12

参数高效微调,从“一针见效“到“精准手术“

LoRA诞生以来,参数高效微调几乎成了大模型适配的下场标配。2026年,这个领域正在发生从"能用"到"好用"的质变。 传统全量微调的门槛极高——一家初创公司想基于开源大模型打造法律文书生成工具,全量微调需要几十万元的GP…

2026/7/31 0:11:12

大模型评测的“信任危机“与“范式重构“

2026年,大模型评测正在经历一场深刻的"信任危机"。原因很直白:静态基准测试已经不太可靠了。数据污染、榜单过拟合、测试集泄露——这些问题让"榜单得分"和"真实能力"之间的相关性越来越弱。一个模型可能在某个基准上得分…

2026/7/31 0:11:12

大模型安全,从“打补丁“到“长在骨子里“

2026年,大模型安全领域最核心的转变可以用一句话概括:安全不再是模型上线后的"补丁",而是模型架构中的"基因"。这个转变的紧迫性来自一个残酷的现实——越狱攻击的成功率居高不下。安全对齐后的大模型面临两个失效模式&a…

2026/7/31 0:06:11

SpringCloud微服务可观测性实战:SkyWalking+Prometheus+Grafana整合

1. 项目概述 在微服务架构盛行的当下,SpringCloud作为Java生态中最成熟的微服务框架之一,其生产环境中的可观测性建设已成为保障系统稳定性的关键环节。这次我将分享一个真实生产环境中从零搭建的可观测性方案,整合SkyWalking、Prometheus和G…

2026/7/29 22:32:30

PDF合并与动态水印的工程化方案:2026国内免费工具实测对比

一、背景与测试方案 在实际项目交付中,PDF文件合并与版权保护水印的叠加是一个高频但容易被低估的技术需求。典型的处理链路涉及:多源PDF的文件流合并、页面级水印渲染(含透明度混合与图层叠加)、输出文件体积控制。看似简单的操作…

2026/7/31 0:01:11

物理复制比逻辑复制好在哪?数据库复制原理详解

数据库复制是把主库数据同步到备库的机制,分为逻辑复制和物理复制两种。逻辑复制传输的是 SQL 语句或行变更事件,物理复制传输的是存储引擎底层的物理日志。阿里云 PolarDB(云原生数据库)采用物理复制,在同步延迟、数据…

2026/7/31 0:01:11

BilibiliDown:3分钟学会B站视频下载的终极指南

BilibiliDown:3分钟学会B站视频下载的终极指南 【免费下载链接】BilibiliDown (GUI-多平台支持) B站 哔哩哔哩 视频下载器。支持稍后再看、收藏夹、UP主视频批量下载|Bilibili Video Downloader 😳 项目地址: https://gitcode.com/gh_mirrors/bi/Bilib…

2026/7/31 0:01:11

有哪些游戏数据AI平台?游戏行业Data+AI融合方案盘点

当前,游戏行业的“DataAI融合”已从概念验证进入价值落地阶段。根据IDC 2025年数据,中国AI游戏云市场规模已达18.6亿元;同时,游戏研发环节AI渗透率高达86%,生成式AI内容普及率超过50%。面对庞大的市场,游戏…

2026/7/29 13:12:43

3个高效策略:快速掌握Axure中文界面配置

3个高效策略:快速掌握Axure中文界面配置 【免费下载链接】axure-cn Chinese language file for Axure RP. Axure RP 简体中文语言包。支持 Axure 11、10、9。不定期更新。 项目地址: https://gitcode.com/gh_mirrors/ax/axure-cn 还在为Axure RP的英文界面感…