当前位置:网站首页>力扣202-快乐数——哈希集合
力扣202-快乐数——哈希集合
2022-08-09 04:53:00 【张怼怼√】
题目描述
编写一个算法来判断一个数 n 是不是快乐数。
「快乐数」 定义为:
对于一个正整数,每一次将该数替换为它每个位置上的数字的平方和。
然后重复这个过程直到这个数变为 1,也可能是 无限循环 但始终变不到 1。
如果这个过程 结果为 1,那么这个数就是快乐数。
如果 n 是 快乐数 就返回 true ;不是,则返回 false 。
求解思路
对于一个,一共会出现三种情况:
最终得到1,是快乐数;
进入一个循环,但得不到1,不是一个快乐数;
会越来越大,接近无穷大。
- 所以我们将 n 每一步的数字都记录到 HashSet 中,不断地迭代,最后如果为1,则返回 True,反之则返回 False;
- 在循环的过程中,循环条件是 当前这个数组不为1,且没有在Set中出现过。
输入输出示例
代码
class Solution {
public boolean isHappy(int n) {
Set<Integer> set = new HashSet<>();
while(n != 1 && !set.contains(n)){
set.add(n);
n = getPower(n);
}
return n==1;
}
public int getPower(int n){
int res = 0;
while(n > 0){
int tem = n % 10;
res += tem * tem;
n = n / 10;
}
return res;
}
}
边栏推荐
猜你喜欢
leetcode:315. 计算右侧小于当前元素的个数
mysql内容不存在的报错
【Harmony OS】【ARK UI】Lightweight Data Storage
【MLT】MLT多媒体框架生产消费架构解析(二)
【HMS core】【Ads Kit】华为广告——海外应用在国内测试正式广告无法展示
【HMS core】【ML kit】Machine Learning Service FAQ
[OpenCV] - Find and draw contours
还不了解什么是商业智能(BI)?看完这篇文章就懂了
【Harmony OS】【FAQ】鸿蒙问题合集1
JS-DOM-全局、局部、隐式变量,数组()\函数、 prompt输入对话框、confirm(确定用户的决定-弹出对话框)
随机推荐
B. Arrays Sum
Base64编码和图片转化
C进阶 - 程序的编译(预处理操作) + 链接
基于ABP和Magicodes实现Excel导出操作
Improve the user experience and add a small detail to your modal popup
Introduction to JVM garbage collection mechanism
【luogu U142356】勇者的后缀(SA)(主席树)(二分)
I.MX6U-ALPHA开发板(高精度定时器)
区别如下概念:路径、绝对路径、相对路径、当前目录。系统磁盘上存在某个可执行文件,但在DOS环境输入其文件名却提示没有这个文件,是什么原因?
Alibaba Cloud Tianchi Contest Question (Machine Learning) - Prediction of Industrial Steam Volume (Complete Code)
【Harmony OS】【ARK UI】Custom popup
Ali YunTianChi competition problem (machine learning) - ali cloud security malware detection (complete code)
php将在线远程文件写入临时文件
Golang 常见知识点整理
必须指定GDAL API版本。提供一个路径使用GDAL_CONFIG gdal-config环境
uboot中board_init bi_arch_number在哪
I.MX6U-ALPHA开发板(串口实验)
【Harmony OS】【ARK UI】Date Basic Operation
Efficient review of deep learning DL, CV, NLP
【日常训练--腾讯精选50】7. 整数反转