当前位置:网站首页>力扣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;
}
}
边栏推荐
- 安装pytorch和cuda
- 【MLT】MLT多媒体框架生产消费架构解析(二)
- MySQL: Intent Shared Locks and Intentional Exclusive Locks | Deadlocks | Lock Optimization
- 【暑期每日一题】洛谷 P5724 【深基4.习5】求极差 / 最大跨度值
- Masked AutoEncoder论文及实现
- equals and ==
- mysql content does not exist error
- 基于ABP和Magicodes实现Excel导出操作
- Integer multiple series
- MySQL---performance schema
猜你喜欢
mysql content does not exist error
杰理之ANC OFF语音没有作用【篇】
equals和==
抖音直播带货的4个技巧,提升直播间转化率!
浅谈产品降本设计
Ali YunTianChi competition problem (machine learning) - O2O coupons prediction (complete code)
还不了解什么是商业智能(BI)?看完这篇文章就懂了
【HMS core】【ML kit】Machine Learning Service FAQ
Harmony OS ets ArkUI 】 【 】 development create a view and building layout
杰理之SD卡切回蓝牙没有作用【篇】
随机推荐
【Harmony OS】【ArkUI】ets开发 创建视图与构建布局
uboot中board_init bi_arch_number在哪
安装pytorch和cuda
ABP 6.0.0-rc.1的新特性
基于ABP和Magicodes实现Excel导出操作
ABP中的数据过滤器
软件测试的方法详细介绍
杰理之开关降噪语音识别没有用【篇】
I.MX6U-ALPHA开发板(高精度定时器)
程序设计6大原则
杰理之播放最大音量提示音播不出来【篇】
LeetCode-636. 函数的独占时间
必须指定GDAL API版本。提供一个路径使用GDAL_CONFIG gdal-config环境
Ridge regression and LASSO regression
ddr系统检验
HP路由器和交换机日志分析
php write online remote file to temp file
软件测试的发展趋势
【Harmony OS】【FAQ】鸿蒙问题合集1
Efficient review of deep learning DL, CV, NLP