【每日一道LeetCode】LeetCode202:快乐数

OpenClaw赚钱实录:从“养龙虾“到可持续变现的实践指南——原生“龙虾”OpenClaw快速部署、问题速查与避坑指南 至此,你已经完成了从选购服务器到配置AI大脑的全过程。无论是想在云上养一只7x24小时的“龙虾”,还是在本地体验AI Agent的魅力,上述指南都提供了明确的路径。下一步,就是接入飞书、钉钉或QQ,让你的OpenClaw真正开始“干活”赚钱了 [citation:6]。 阅读详情

题目:编写一个算法来判断一个数 n 是不是快乐数。
那么何为快乐数呢?

快乐数的定义:

  • 对于一个正整数,每一次将该数替换为它每个位置上的数字的平方和。
  • 然后重复这个过程直到这个数变为 1,也可能是 无限循环 但始终变不到 1。
  • 如果这个过程 结果为 1,那么这个数就是快乐数。

如果 n 是 快乐数 就返回 true ;不是,则返回 false 


解题思路👍:

题目提示我们说了,这个过程直到这个数变为 1,也可能是 无限循环 但始终变不到 1。所以我们要注意的是,在这个过程中可能求和的数会出现重复的情况,我们在解题过程中需要考虑到这个条件!
在刷LeetCode题的时候遇到过需要快速判断一个元素是否出现在集合的时候,就需要考虑到哈希法了!

所以在解题的过程中我们就要使用哈希法来判断平方和的结果是否重复了!

另一个难点是:我们需要取平方和结果的个位,如果不熟悉的话,这道题会非常困难!


1.使用哈希法来快速判断是否重复出现平方和。如果 n 不等于1以及record中不存在 n 时,把n加入record中,并且调用getNextN()方法,把getNextN()方法的返回值赋值给n。

 public boolean isHappy(int n) {
        Set<Integer> record=new HashSet<>(); //使用哈希法
        while (n!=1&&!record.contains(n)){
            record.add(n);
            n=getNextN(n);
        }
        return n==1;
    }

2.getNextN()方法的实现:先初始化res作为存储平方和结果的变量,然后判断n是否大于0,如果大于0时,取传参n的个位赋值给temp,接着把temp的平方和累加给res,最后把取了个位后的n重新赋值给n。

private int getNextN(int n){
        int res=0; //初始化平方和的值为0
        while (n>0){
            int temp=n%10; //取n的个位赋值给temp
            res+=temp*temp; //把temp的平方和累加给res
            n=n/10; //把取了个位后的n重新赋值给n
        }
        return res;
    }

【WebRTC】【Unity】Unity Web RTC1-Unity中简单实现远程画面 平台:基本常用平台包括安卓,苹果(max和IOS),Windows64,Linux都行。10. 注意,如果从移动设备浏览器连接服务,信令服务器的SSL证书一定要先设好。想要在Unity中实现实时远程桌面,找到了Render Streaming这个手段,本篇介绍相应的使用方法和实例。8. 打开电脑浏览器,地址栏输入http://127.0.0.1,点击Receiver Sample。新建Unity项目,模板选Third Person,Project Name随意。启动App,控制台出现如下信息表示成功。 阅读详情

相关推荐

虚拟机Ubuntu连接USRP

笔记本通过网线连接USRP。

xiaozir的博客 2305

【每日一题】LeetCode202 快乐数

方法优点缺点适用场景哈希集合法直观易懂,代码简单占用较多内存快速实现,数据量不大时快慢指针法零额外空间,内存效率最高需要理解双指针运动规律内存敏感场景,如嵌入式练习建议:可以用数字 19(快乐数)和 2(非快乐数)手动模拟两种方法的执行过程,加深理解。

2302_79600390的博客 1175

LTE 中设置voice/data centric的差异

1. 什么是voice centric和data centric Voice centric和data centric的差别在于以语音为中心还是以数据为中心。这里的以某某为中心可不是说说而已。举个栗子,UE一般搜网注册都会按照LUG(LTE->UMTS->GSM)或者LC(LTE->CDMA)的顺序进行,如果UE(未开通VOLTE)注册到LTE时,网络提示不支持语音,比如CSFB。UE就必须disable LTE后回到GU或者CDMA,否则留在不能语音的网络下,UE就会...

alimingh的博客 5233

每日一题:LeetCode-202.快乐数(一点都不快乐)

虽然力扣把这题给标为了简单,但是如果你想不明白给的第二个条件,这题和困难也相差无二,第一个条件是给你一个正整数,每个位置的平方和就是下一个位置,第二个条件其实说明了在这里只有两种情况,一种是最后变成1一直循环,另外一种情况是存在一个环使得这个数永远不能为1。是1就快乐数,不是1就不是快乐数。👈👈,因此,想要写出💚优美的程序💚,核心算法是必不可少的,少年,你渴望力量吗😆😆,想掌握程序的灵魂吗❓❗️那么就必须踏上这样一条漫长的道路🏇🏇,我们要做的,就是斩妖除魔💥💥,打怪升级!循环会不会是无限不相等的循环?

欢迎来到阿熊的blog~~ 1816

Virbox Protector:全方位守护 Android 应用安全

在数字化浪潮中,Android 应用面临着诸多安全挑战,如破解、篡改、盗版、数据窃取和钓鱼欺诈等。为了应对这些复杂的安全问题,Virbox Protector 应运而生,为 Android 应用提供高强度的专业化安全保护,支持对 APK 和 AAB 文件的加固保护,并兼容 Google Play,助力应用顺利出海。

VBP_2025的博客 996

arkts编译报错-arkts-limited-stdlib错误【Bug已完美解决-鸿蒙开发】

在使用 Deveco Studio 4.0 beta2 开发应用时,报错。ERROR: ArkTS:ERROR File: D:/prRevivw/3792/applications_appsamg优快云o”见台难忘Usage of standardlibrary is restricted (arkts-limited-stdlib)这是 ArkTS 新增的语法规则。

一键难忘的博客 3775

Leetcode 每日一题 202.快乐数

如果新生成的数已经在哈希集合中,那么我们可以确定这个数不是快乐数,因为它已经进入了循环。在最坏情况下,这个算法的时间复杂度是 O(k),其中 k 是快乐数序列的长度。对于非快乐数,时间复杂度取决于循环的长度,但在实际应用中,这个循环通常不会太长。通过使用哈希集合来记录已经出现过的数,我们可以有效地判断一个数是否为快乐数。:我们使用了一个哈希集合来存储已经出现过的数,因此空间复杂度是 O(k),其中 k 是不同数的数量。:这个方法用于计算给定数的下一个数,即每个位置上的数字的平方和。:这是主要的算法实现。

weixin_73687229的博客 987

激光雷达与相机外参标定(附open3d python代码)

现在的激光雷达与相机的标定程序基本都是Ubuntu框架下面的,并且都是C++代码,需要安装的依赖也比较复杂,于是自己写了一个python版本的标定程序,依赖非常简单,Windows系统也可以运行。我这里用的大疆的雷达,点比较密集,更容易用我这种方法标定,旋转的16,32线的雷达也可以用这种方法标定,只是标定点会相对难选取一些。2 手动在点云上选取N个标定点(每个点都对应图像上的点,顺序也要一致)3 通过PNP方法计算出二者的旋转投影矩阵,也就是外参矩阵。1 手动在图像上面选取N个标定点。

三维点云技术探索 3411

每日一题 Day6–leetcode202–快乐数

每日一题 Day6–leetcode202–快乐数 题目 链接:https://leetcode-cn.com/problems/happy-number/ 链接为leetcode中文社区,题目没有区别,感觉很好用 题面描述: 编写一个算法来判断一个数 n 是不是快乐数。 「快乐数」定义为:对于一个正整数,每一次将该数替换为它每个位置上的数字的平方和,然后重复这个过程直到这个数变为 1,也可能是 无限循环 但始终变不到 1。如果 可以变为 1,那么这个数就是快乐数。 如果 n 是快乐数就返回 True ;

weixin_43894330的博客 488

【100%通过率】2024华为OD机试真题E卷 C++ 实现【栈数据合并/空栈压数】

向一个空栈压入正整数,每当压入一个整数时,执行以下规则(设: 栈顶至栈底整数依次编号为n1、n2...nx, n1为最新压入的整数)

MISAYAONE的博客 1551

实战避坑:基恩士KV8000 PLC与C#上位机链路通讯全流程实现(含ST代码+上位机源码)

本文详细讲解了基恩士KV8000 PLC与C#上位机的TCP链路通讯实现,从PLC端的ST代码编写、通讯配置,到上位机的通讯类封装、界面实现,再到实战避坑和性能优化,提供了完整的可复用方案。该方案已在实际产线项目中验证,支持实时数据采集和控制指令下发,稳定性和可靠性满足工业场景需求。

这里只有干货:从 Modbus 通信到 MES 对接,从 YOLO 训练到工控机部署,带你搞定工业软件开发全流程。 1176

(哈希表 ) 202. 快乐数——【Leetcode每日一题】

202. 快乐数 编写一个算法来判断一个数 n 是不是快乐数。 「快乐数」 定义为: 对于一个正整数,每一次将该数替换为它每个位置上的数字的平方和。 然后重复这个过程直到这个数变为 1,也可能是 无限循环 但始终变不到 1。 如果这个过程 结果为 1,那么这个数就是快乐数。 如果 n 是 快乐数 就返回 true ;不是,则返回 false 。

weixin_43412762的博客 1109

芯片测试:WAT、CP、FT

最近部门来了一个日本回来的同事,虽然他尽量用非常Poor的中文给我解释一些东西,其中还夹杂着一些英文让我很受挫,于是最近来学一下WAT中的常用的单词含义。直接去查缩写、查单词很难去记住,要把具体的东西放在具体的场景,引发知识的连接才会在脑子里留下一定的映像。感兴趣的一起来学习一下这篇不错的文章吧。注释是我查询记录,如有不妥,欢迎指出修正。

叫好与叫座虽然不是对立面,但想在同一个作品中达到双重效果很难。 5079

leetcode每日题202. 快乐数

题目来源这里快乐数 我把题目复制到这里来~ 编写一个算法来判断一个数 n 是不是快乐数。 「快乐数」定义为:对于一个正整数,每一次将该数替换为它每个位置上的数字的平方和,然后重复这个过程直到这个数变为 1,也可能是 无限循环 但始终变不到 1。如果 可以变为 1,那么这个数就是快乐数。 如果 n 是快乐数就返回 True ;不是,则返回 False 。 示例: 输入:19 输出:true 解释:...

weixin_42275589的博客 319

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

【LeetCode力扣】:每日一题 - 202. 快乐数(python)

【20200430】每日一题 - 202. 快乐数 题目: 「快乐数」定义为:对于一个正整数,每一次将该数替换为它每个位置上的数字的平方和,然后重复这个过程直到这个数变为 1,也可能是 无限循环 但始终变不到 1。如果 可以变为 1,那么这个数就是快乐数。 如果 n 是快乐数就返回 True ;不是,则返回 False 。 示例: 输入:19 输出:true 解释: 12 + 92 = 82 82...

Ssss0725的博客 484

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

【每日一题】LeetCode. 202.快乐数

每日一题,防止痴呆 = = 一、题目大意 编写一个算法来判断一个数 n 是不是快乐数。 「快乐数」定义为:对于一个正整数,每一次将该数替换为它每个位置上的数字的平方和,然后重复这个过程直到这个数变为 1,也可能是 无限循环 但始终变不到 1。如果 可以变为 1,那么这个数就是快乐数。 如果 n 是快乐数就返回 True ;不是,则返回 False 。 来源:力扣(LeetCode) 链接:...

Johnson的博客 374

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

力扣每日一题——202 快乐数

个人记录

qq_45057290的博客 295

LeetCode-202. 快乐数(java)

因为我始终坚信,变强绝对不是一朝一夕,而是贵在长久坚持,持之以恒。所以,赶紧跟着bug菌的步伐卷起来吧⏰,变强从这一刻开始。

**My Coding Family** 1035

【每日一题-leetcode】202. 快乐数

202. 快乐数 快乐数 难度简单396 编写一个算法来判断一个数 n 是不是快乐数。 「快乐数」定义为:对于一个正整数,每一次将该数替换为它每个位置上的数字的平方和,然后重复这个过程直到这个数变为 1,也可能是 无限循环 但始终变不到 1。如果 可以变为 1,那么这个数就是快乐数。 如果 n 是快乐数就返回 True ;不是,则返回 False 。 示例: 输入:19 输出:true 解释: 12 + 92 = 82 82 + 22 = 68 62 + 82 = 100 12 + 02 + 02 =

芝兰生于深谷,不以无人而不芳 620

【leetcode刷题】44.快乐数——Java版

你快乐吗

公号:一条coding 1万+

LeetCode 4月30每日一题 LeetCode202. 快乐数

问题描述: 编写一个算法来判断一个数 n 是不是快乐数。 「快乐数」定义为:对于一个正整数,每一次将该数替换为它每个位置上的数字的平方和,然后重复这个过程直到这个数变为 1,也可能是 无限循环 但始终变不到 1。如果 可以变为1,那么这个数就是快乐数。 如果 n 是快乐数就返回 True ;不是,则返回 False 。 来源:力扣(LeetCode) 链接:https://leetco...

wuheng248113004的博客 241

每日一练:【优先算法】双指针之快乐数(medium)

本文介绍 “202. 快乐数” 题目。该题对正整数进行每个位置数字平方和的变换,分析得出一个数经多次变换要么变为 1,要么无限循环。采用快慢指针方法解决,先介绍前置知识,即快慢指针在带环链表中一定会相遇且相遇位置在环节点。本题的计算过程可视为带环链表,通过模拟快慢指针,每次 slow 走一步、fast 走两步,判断是否会相遇于值为 1 的节点,给出了相应算法代码。

2401_82610555的博客 1005

LeetCode每日一题之专题一:双指针 ——快乐数

【代码】LeetCode每日一题之专题一:双指针 ——快乐数。

CptGhost的博客 577

优选算法 力扣 202.快乐数 快慢双指针 解决带环问题 C++解题思路 每日一题

本文介绍了如何用快慢指针判断快乐数问题。快乐数的定义是:对一个正整数不断求各位数字平方和,最终结果为1则是快乐数。通过将数字序列转化为链表环模型,使用快慢指针检测循环:慢指针每次计算一次平方和,快指针计算两次,若相遇时值为1则是快乐数,否则不是。该方法时间复杂度O(log n),空间复杂度O(1)。文章通过示例详细解析了算法流程,并指出该思路可推广到其他循环检测问题。最后提供了完整代码实现和复杂度分析。

Q741_147的博客 730

C语言每日一题(64)快乐数

这道题数据的取值范围是2的31次方-1,转换一下等于2147483647,我们取到数字个数的最大值,即9999999999,可以推导出,这个数通过题目的方法取到的数,一定是最大的(因为原数比范围还大,同时也是各位上的最大值),即81*10=810,所以,测试样例的变化范围就在【1,810】之间,不会有大于它的数存在。没什么好说的,很简单;设需要检测的数为x,假设最坏情况,它变化了810次都没有重复的数存在,说明它已经将1——810的数已经遍历完一遍,当进行第811次时,必定有重复值出现。

wcl312的博客 1439

leetcode 4月最后的每日一题--202. 快乐数(水题)

202. 快乐数 快乐数的难度是相当快乐的 哈哈哈 快乐数太简单了,一开始没什么思路按着分解位平方先算算就找到思路了 整个对象存一下每次的数 一旦重复就false就好了 只要不重复 他一定会到1的。 甚至还可以找到快乐规律,这是后话。 好了上题目 202. 快乐数 编写一个算法来判断一个数 n 是不是快乐数。 「快乐数」定义为:对于一个正整数,每一次将该数替换为它每个位置上的数字的平方和,然后...

Yu_szu的憨憨空间 260
上一篇: 【SAA】SpringAI Alibaba学习笔记(三):ChatModel对话记忆存储和持久化
下一篇: 【Spring Cloud】(一)微服务?Nacos?这篇博客带你快速复习!
BeingACoder
博客等级 码龄1年 106粉丝 29原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值