LeetCode:202. 快乐数
🌻算法,不如说它是一种思考方式🍀
算法专栏: 👉🏻123
一、🌱202. 快乐数
-
题目描述:编写一个算法来判断一个数 n 是不是快乐数。
「快乐数」 定义为:
对于一个正整数,每一次将该数替换为它每个位置上的数字的平方和。
然后重复这个过程直到这个数变为 1,也可能是 无限循环 但始终变不到 1。
如果这个过程 结果为 1,那么这个数就是快乐数。
如果 n 是 快乐数 就返回 true ;不是,则返回 false 。 -
来源:力扣(LeetCode)
-
难度:简单
-
提示:
1 <= n <= 231 - 1 -
示例 1:
输入:n = 19
输出:true
解释:
12 + 92 = 82
82 + 22 = 68
62 + 82 = 100
12 + 02 + 02 = 1
🌾关于获取数字的每一位元素
我们可以使用对10取余%的方法获取最后一位数组,所以取余在除循环到最后就可以得到每一位数字。
private static int[] geton(int n) {//返回存储个位、十位、百位......的数组int k=n,s = 0;while (k>0) {k=k/10;s++;}int[] ans=new int[s];for (int i = 0; i < s; i++) {ans[i]=n%10;n=n/10;}return ans;
}
🌴解题
对于这个题,我们先想到数字每一位平方和,看到平方我们就会觉得最后的走向可能有三种:最后返回到1、最后无限循环到某个数列圈里、最后越来越大。
而题目中没有提到这个越来越大的可能,可以稍微推一下:一位数最大是9,平方是81,就是说一位会产生两位的下一个数;两位数最大是99,每一位平方和就是162,就是说两位会产生三位的下一个数;三位数最大是999,每一位平方和就是243,然而三位没有产生四位的下一个数;四位数最大是9999,每一位平方和就是324,然而四位却是产生三位的下一个数;…;所以说再大的数字最后平方和都会落入到三位数的区间。
那么当平方和的过程中出现了前面出现的元素,必然就是走入了一个循环里,基于此可以如下解题:
1.hashSet
我们使用HashSet来存储平方和,每次都会看看是否出现过该数。
class Solution {public boolean isHappy(int n) {Set<Integer> s1=new HashSet<>();if(n==1)return true;while(n!=1){if(s1.contains(n)){//包含重复元素就会无限循环return false;}else {s1.add(n);//new nn=geton(n);}}return true;}private static int geton(int n) {//返回个位、十位、百位......平方int s = 0;while (n>0) {s+=(n%10)*(n%10);n=n/10;}return s;}
}

返回第一页。☝
☕物有本末,事有终始,知所先后。🍭
🍎☝☝☝☝☝我的CSDN☝☝☝☝☝☝🍓
相关文章:
LeetCode:202. 快乐数
🍎道阻且长,行则将至。🍓 🌻算法,不如说它是一种思考方式🍀算法专栏: 👉🏻123 一、🌱202. 快乐数 题目描述:编写一个算法来判断一个数 n 是不是快…...
Android 14 新功能之 HighLights:快速实现文本高亮~
日常开发中可能会遇到给 TextView 的全部或部分文本增加高亮效果的需求,以前可能是通过 Spannable 或者 Html 标签实现。 升级 Android 14 后就不用这么迂回了,因其首次引入直接设置高亮的 API:HighLights。需要留意的是 HighLights API 和 …...
[渗透教程]-004-嗅探工具-Nmap
文章目录 Nmap介绍基本操作进阶操作Nmap介绍 nmap是一个网络扫描和主机检测工具,它可以帮助用户识别网络上的设备和服务。获取主机正在运行哪些服务,nmap支持多种扫描,UDP,TCP connect(),TCP SYN(半开扫描) ftp代理,反向标志,ICMP,FIN,ACK扫描,ftp代理,反向标志,ICMP. 可以用于…...
大数据技术之Hive SQL题库-初级
第一章环境准备1.1 建表语句hive>-- 创建学生表 DROP TABLE IF EXISTS student; create table if not exists student_info(stu_id string COMMENT 学生id,stu_name string COMMENT 学生姓名,birthday string COMMENT 出生日期,sex string COMMENT 性别 ) row format delim…...
常见HTTP状态码汇总
文章目录1xx: 信息2xx: 成功3xx: 重定向4xx: 客户端错误5xx: 服务器错误1xx: 信息 状态码描述100 Continue服务器仅接收到部分请求,但是一旦服务器并没有拒绝该请求,客户端应该继续发送其余的请求。101 Switching Protocols服务器转换协议:服…...
蓝桥杯刷题冲刺 | 倒计时15天
作者:指针不指南吗 专栏:蓝桥杯倒计时冲刺 🐾马上就要蓝桥杯了,最后的这几天尤为重要,不可懈怠哦🐾 文章目录1.年号字串2.裁纸刀3.猜生日1.年号字串 题目 链接: 年号字串 - 蓝桥云课 (lanqiao.c…...
【差分数组】
差分数组一维差分差分数组的作用差分矩阵结语一维差分 输入一个长度为 n 的整数序列。接下来输入 m个操作,每个操作包含三个整数 l,r,c,表示将序列中 [l,r] 之间的每个数加上 c ,请你输出进行完所有操作后的序列。 输入格式 第一行包含两个…...
2022年NOC软件创意编程(学而思)决赛小学高年级组scratch
2022NOC决赛图形化小高组 一、选择题 1.运行下面的程序,最终“我的变量”的值是多少? 2.希望定义一个函数如下,可以让角色旋转指定的圈数。里面空缺的地方填上什么数字比较合适? 3.运行程序,在舞台上可以看见几个角色 ? 4.运行程序,角色会依次说什么 ? 5.我们都知…...
[JAVA]一步接一步的一起开发-图书管理系统(非常仔细,你一定能看懂)[1W字+]
目录 1.想法 2.框架的搭构 2.1图书 2.1.1Book类 2.1.2BookList类 2.2用户 2.2.1User抽象类 2.2.2AdminUser类(管理者) 2.2.3NormalUser 2.3操作 操作接口 借阅操作 删除操作 查询操作 归还图书 展示图书 退出系统 2.4小结 3.主函数的编…...
大数据周会-本周学习内容总结07
目录 01【hadoop】 1.1【编写集群分发脚本xsync】 1.2【集群部署规划】 1.3【Hadoop集群启停脚本】 02【HDFS】 2.1【HDFS的API操作】 03【MapReduce】 3.1【P077- WordCount案例】 3.2【P097-自定义分区案例】 历史总结 01【hadoop】 1.1【编写集群分发脚本xsync】…...
搭建一个双系统个人服务器
搭建一个双系统个人服务器0.前言一、双系统安装1.磁盘划分2.windows安装3.ubuntu安装二、系统启动项美化:1. refind引导2. 美化 grub 界面三、系统代理0.前言 年后找了份工作,忙于适应新环境所以更新也减缓了,最近闲暇时间给个人电脑进行了整…...
电脑长按电源键强行关机,对SSD有伤害吗?SSD 掉盘之殇
说到“按住电源键强制关机”的操作,想必大家都不会陌生,毕竟在电脑蓝屏或者电脑死机的时候,我们总是束手无策。而且,身边的人在遇到同样的情况时,往往都是选择长按电源键强制关机,所以当我们遇到同样的情况…...
Linux:centos内核优化详解
一、系统内核部分设置在以下文件 vim /etc/sysctl.conf 1.禁用IPV6 net.ipv6.conf.all.disable_ipv6 1 # 禁用整个系统所有接口的IPv6 net.ipv6.conf.default.disable_ipv6 1 net.ipv6.conf.lo.disable_ipv6 1 # 禁用某一个指定接口的IPv6(此处为:lo) 理想情况下,…...
链表经典OJ题合集(包含带环问题,相交问题,随机指针复制等,附动画讲解)
目录 一:前言 二:简单题目 (1)移除链表元素 (2)反转链表 (3)找链表的中间结点 (4)输入一个链表,输出该链表中倒数第k个结点 (5)合并两个有序链表 (6)相交链表 (7)判断链表是否带环 三:较难题目 (1)链表分割 (2)判断链表是否为回…...
CSS新增
系列文章目录 前端系列文章——传送门 CSS系列文章——传送门 文章目录系列文章目录什么是 CSS3渐进增强和优雅降级CSS3 中的选择器CSS3 中的背景CSS3 中的边框CSS3 中的文本效果CSS3 中的字体 font-face什么是 CSS3 CSS3是CSS(层叠样式表)技术的升级版…...
奇安信_防火墙部署_透明桥模式
奇安信_防火墙部署_透明桥模式一、预备知识二、项目场景三、拓扑图四、基本部署配置1. 登录web控制台2.连通性配置3.可信主机配置4.授权导入5.特征库升级6.安全配置文件五、透明桥配置1. 创建桥2. 端口绑定桥3. 创建桥端口六、结语一、预备知识 安全设备接入网络部署方式 二、…...
C语言——字符串函数(2)和内存函数
(一)strtok函数dilimiters参数是个字符串,定义了用作分隔符的字符集合第一个参数指定一个字符串,它包含了0个或者多个由dilimiters字符串中一个或者多个分隔符分割的标记。strtok函数找到str中的下一个标记,并将其用 \0 结尾,返回…...
第1节 线性回归模型
1. 模型概述 对于收集到的数据(xi,yi)(x_i,y_i)(xi,yi),建立线性回归模型yiθTxiεi(1)y_i\theta^{^T} x_i \varepsilon_i (1)yiθTxiεi(1) 需要估计的参数为θT\theta^{^T}θT,我们的目的是让估计的参数θT\theta^{^T}θT和xix_ixi…...
CodeGeeX 130亿参数大模型的调优笔记:比FasterTransformer更快的解决方案
0x0 背景 相信大家都使用或者听说过github copilot这个高效的代码生成工具。CodeGeeX类似于github copilot,是由清华大学,北京智源研究院,智谱AI等机构共同开发的一个拥有130亿参数的多编程语言代码生成预训练模型。它在vscode上也提供了插件…...
Linux驱动之并发与竞争
文章目录并发与竞争的概念原子操作原子整形操作 API 函数原子位操作 API 函数自旋锁自旋锁简介自旋锁结构体自旋锁 API 函数自旋锁的注意事项读写自旋锁读写自旋锁的API顺序锁顺序锁的APIRCU(Read-Copy-Update)RCU的API信号量信号量API互斥体互斥体的API完成量(Completion)完成…...
保姆级教程:用ENVI+SNAP搞定哨兵1号雷达数据预处理(附水稻监测实战)
从零掌握哨兵1号雷达数据处理:ENVI与SNAP双软件协同实战指南 当第一次接触哨兵1号雷达数据时,许多研究者都会被其独特的成像机制和处理流程所困扰。与光学遥感不同,雷达数据需要经过一系列专业预处理才能用于分析。本文将带你系统掌握ENVI和…...
告别花屏!手把手教你为STM32H743的RGB屏配置LVGL显示驱动(基于CubeIDE)
告别花屏!STM32H743的RGB屏LVGL显示驱动全流程实战(基于CubeIDE) 在嵌入式GUI开发中,LVGL凭借轻量级、高性能和丰富的控件库成为热门选择。但对于STM32H743这类高性能MCU,如何充分发挥硬件潜力并避免常见显示问题&…...
YOLOv8无人机红外识别检测系统(项目源码+YOLO数据集+模型权重+UI界面+python+深度学习+环境配置)
摘要 面向无人机平台的红外目标检测在夜间及低能见度环境下具有重要应用价值。本文基于YOLOv8构建了一套针对车辆与行人的红外检测系统,数据集包含4类目标(Car、DontCare、OtherVehicle、Person),共计10128张训练图像、715张验证…...
向量数据库是什么?Milvus 与 ChromaDB 在 AI 测试中的作用
导语:2025年,AI应用开发圈最火的两个关键词——RAG(检索增强生成)和向量数据库。你可能已经用LangChain搭过聊天机器人,用LlamaIndex建过知识库,但你有没有认真想过:那个默默躺在你架构图最底层的向量数据库,到底该选谁?Milvus还是ChromaDB?它们到底有什么区别?对你…...
5分钟搞定:Buzz音频转录软件常见问题快速解决指南 [特殊字符]
5分钟搞定:Buzz音频转录软件常见问题快速解决指南 🎯 【免费下载链接】buzz Buzz transcribes and translates audio offline on your personal computer. Powered by OpenAIs Whisper. 项目地址: https://gitcode.com/GitHub_Trending/buz/buzz …...
架构解密:如何通过FastExcel流式处理引擎重塑Java Excel操作效率标准
架构解密:如何通过FastExcel流式处理引擎重塑Java Excel操作效率标准 【免费下载链接】fastexcel Generate and read big Excel files quickly 项目地址: https://gitcode.com/gh_mirrors/fas/fastexcel 在当今数据驱动的企业环境中,Excel文件处理…...
Cursor Pro破解工具终极指南:三步轻松解锁AI编程助手高级功能
Cursor Pro破解工具终极指南:三步轻松解锁AI编程助手高级功能 【免费下载链接】cursor-free-vip [Support 0.45](Multi Language 多语言)自动注册 Cursor Ai ,自动重置机器ID , 免费升级使用Pro 功能: Youve reached y…...
词达人自动化助手终极指南:如何10倍提升英语学习效率
词达人自动化助手终极指南:如何10倍提升英语学习效率 【免费下载链接】cdr 微信词达人,高正确率,高效简洁。支持班级任务及自选任务 项目地址: https://gitcode.com/gh_mirrors/cd/cdr 你是否曾为每周重复的英语词汇练习感到疲惫&…...
你的旋钮漂移吗?EC11编码器在51单片机上的硬件消抖与软件滤波实战避坑指南
EC11编码器实战:从硬件消抖到软件滤波的稳定性优化全攻略 在嵌入式控制领域,旋转编码器作为人机交互的重要组件,其稳定性直接影响用户体验。EC11作为经济实用的机械编码器代表,广泛应用于音量调节、参数设置等场景。但当电机干扰、…...
Kimera-VIO实战评估:Euroc数据集上的精度分析与性能测试
Kimera-VIO实战评估:Euroc数据集上的精度分析与性能测试 【免费下载链接】Kimera-VIO Visual Inertial Odometry with SLAM capabilities and 3D Mesh generation. 项目地址: https://gitcode.com/gh_mirrors/ki/Kimera-VIO 想要了解开源视觉惯性里程计系统在…...
